博主主页:猫头鹰源码
博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战
主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询
文末联系获取
项目介绍:
该系统基于springboot技术,数据层为MyBatis,mysql数据库,具有完整的业务逻辑,适合选题:推荐算法、协同过滤、旅游推荐、推荐系统、算法、Java项目、javaweb等。
项目功能:
系统构架是指在确定了系统的要求之后,对系统的调用关系,层次结构,操作模式等进行定义。与该系统相结合,需要对后台进行频繁的维护和升级。采用B/S模式作为网站后台架构,其属于浏览器模式,可在服务器上运行系统功能,提升系统的开发效率,便于维护、开发与使用系统[15]。
根据系统需求分析,整个项目分为前台用户界面和后台管理员用户界面。前台用户界面分为:首页展示,热门景点预览,旅游推荐预览,注册和登录,留言反馈交流和用户菜单。后台管理员界面分为:管理账号管理,用户管理,热门城市管理,热门景点管理,留言反馈管理,旅游主题管理和旅游推荐咨询管理。
系统包含技术:
后端:springboot、mybatis
前端:xadmin、js、css等
开发工具:idea
数据库:mysql 5.7
JDK版本:jdk1.8
语言:Java语言
是否Maven:是
页面类型:jsp
部分截图说明:
下面是首页
旅游推荐页面
查看旅游详情
热门景点查看
留言交流
用户登陆
算法推荐
用户列表
热门景点列表
留言交流列表
部分代码:
// 留言交流 @RequestMapping("bbs.action") public String bbs(HttpServletRequest request, Map<String, Object> map) { this.front(); Map<String, Object> parameter = new HashMap<String, Object>(); String keyword = request.getParameter("keyword");//搜索关键词 if (keyword != null && keyword != "") parameter.put("keyword", keyword);//搜索参数 String bbstypeid = request.getParameter("bbstypeid");//搜索关键词 if (bbstypeid != null && bbstypeid != "") parameter.put("bbstypeid", bbstypeid);//搜索参数 int rowCountTotal = bbsService.getRowSize(parameter);//获取总数 int pageSize = 10;// 分页大小 int pageNumber = 1; //设定页面参数,传递给JSP页面 if (request.getParameter("pageNumber") != null && request.getParameter("pageNumber") != "") { pageNumber = Integer.parseInt(request.getParameter("pageNumber"));//当前页 } parameter.put("limit", pageSize);//搜索参数 parameter.put("start", (pageNumber - 1) * pageSize);//搜索参数 List<Bbs> bbsList = bbsService.getAll(parameter); //设定页面参数,传递给JSP页面 Map<String, Object> pager = new HashMap<String, Object>(); int pageCount = 1;// 总页数 // 计算总页数 if (rowCountTotal % pageSize == 0) { pageCount = rowCountTotal / pageSize; } else { pageCount = rowCountTotal / pageSize + 1; } pager.put("pageNumber", pageNumber);//当前页 pager.put("pageCount", pageCount);//总页数 pager.put("rowCountTotal", rowCountTotal);//记录总条数 map.put("keyword", keyword); map.put("pager", pager); map.put("bbsList", bbsList); return "bbs";//跳转到WebContent目录下对应的JSP页面 } // 发布留言 @RequestMapping("addbbs.action") public String addbbs(Map<String, Object> map) { this.front(); if (getRequest().getSession().getAttribute("usersid") == null) { return "redirect:/web/preLogin.action";//跳转到action } String usersid = (String) getRequest().getSession().getAttribute("usersid"); Bbs bbs = new Bbs(); bbs.setAddtime(new Date()); bbs.setContents(getRequest().getParameter("contents")); bbs.setHits("0"); bbs.setRepnum("0"); bbs.setTitle(getRequest().getParameter("title")); bbs.setUsersid(usersid); bbs.setBbstypeid(getRequest().getParameter("bbstypeid")); bbsService.insert(bbs); return "redirect:/web/bbs.action";//跳转到action } // 查看回复 @RequestMapping("bbsDetail.action") public String bbsDetail(HttpServletRequest request, Map<String, Object> map) { this.front(); Bbs bbs = bbsService.getById(getRequest().getParameter("id")); bbs.setHits("" + (Integer.parseInt(bbs.getHits()) + 1));//增加主贴的浏览量 bbsService.update(bbs); map.put("bbs", bbs); //-------------------------------------------获取回帖 Map<String, Object> parameter = new HashMap<String, Object>(); String keyword = request.getParameter("keyword");//搜索关键词 if (keyword != null && keyword != "") parameter.put("keyword", keyword);//搜索参数 parameter.put("bbsid", bbs.getBbsid());//搜索参数 int rowCountTotal = rebbsService.getRowSize(parameter);//获取总数 int pageSize = 10;// 分页大小 int pageNumber = 1; //设定页面参数,传递给JSP页面 if (request.getParameter("pageNumber") != null && request.getParameter("pageNumber") != "") { pageNumber = Integer.parseInt(request.getParameter("pageNumber"));//当前页 } parameter.put("limit", pageSize);//搜索参数 parameter.put("start", (pageNumber - 1) * pageSize);//搜索参数 List<Rebbs> rebbsList = rebbsService.getAll(parameter); //设定页面参数,传递给JSP页面 Map<String, Object> pager = new HashMap<String, Object>(); int pageCount = 1;// 总页数 // 计算总页数 if (rowCountTotal % pageSize == 0) { pageCount = rowCountTotal / pageSize; } else { pageCount = rowCountTotal / pageSize + 1; } pager.put("pageNumber", pageNumber);//当前页 pager.put("pageCount", pageCount);//总页数 pager.put("rowCountTotal", rowCountTotal);//记录总条数 map.put("keyword", keyword); map.put("pager", pager); map.put("rebbsList", rebbsList); return "bbsDetail";//跳转到WebContent目录下对应的JSP页面 } // 回复留言 @RequestMapping("rebbs.action") public String rebbs(Map<String, Object> map) { this.front(); if (getRequest().getSession().getAttribute("usersid") == null) { return "redirect:/web/preLogin.action";//跳转到action } String usersid = (String) getRequest().getSession().getAttribute("usersid"); Rebbs rebbs = new Rebbs(); rebbs.setAddtime(new Date()); rebbs.setContents(getRequest().getParameter("contents")); rebbs.setBbsid(getRequest().getParameter("bbsid")); rebbs.setUsersid(usersid); rebbsService.insert(rebbs); Bbs bbs = bbsService.getById(rebbs.getBbsid()); bbs.setRepnum("" + (Integer.parseInt(bbs.getRepnum()) + 1));//增加主贴的回复数 bbsService.update(bbs); String path = "redirect:/web/bbsDetail.action?id=" + bbs.getBbsid(); return path;//跳转到ACTION }
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~