目录
1 需求分析 1
2技术栈 1
3 总体设计 1
3.1 系统功能概述 1
3.1.1 前台系统 1
3.1.2 后台系统 2
3.2 E-R模型 2
3.3 系统流程图 4
4 详细设计 5
4.1 前台系统 5
4.2 后台系统 8
5 总结 10

1 需求分析
图书借阅管理系统是模拟学校图书馆实现的一个具有前后台的web系统.对于读者,能够提供全文检索,个性化推荐,借阅等功能.对于管理员,能够提供可视化数据分析,信息管理等功能.
2技术栈
前端: Layui,jQuery,echarts
后端:Spring Boot,MyBatis,elasticsearch,thymeleaf(一个模板引擎,代替jsp)
开发工具:IDEA,HBuilder,postman,Navicat for MySQL
项目管理工具:Maven
3 总体设计
3.1 系统功能概述
3.1.1 前台系统
(1) 读者登录,注册,修改密码
(2) 基本资料查看,修改
(3) 图书查询(复杂查询),仿京东商城以图片卡片形式分页展示,可点击每本书的评价数进行评价,点击卡片查看详细图书信息以及借阅
(4) 个性化推荐图书:根据读者的兴趣爱好,本文转载自http://www.biyezuopin.vip/onews.asp?id=14810每本书对应读者的浏览量,每本书的借阅量,每本书的评论数进行多重排序,展示在读者面前
(5) 历史记录浏览,查询
(6) 基于elasticsearch搜索引擎的全文检索
3.1.2 后台系统
(1) 管理员登录,修改密码
(2) 读者管理:查看,添加,编辑,删除
(3) 管理员管理:查看,添加,删除
(4) 角色管理
(5) 统计分析:
A.分别以树状图,饼图展示图书分类占比
B.以折线图加饼图展示每年的图书类型借阅情况
C.查询每年的热门图书排名以及借阅次数
(6) 历史记录管理
(7) 图书管理:查看,添加,删除

package com.neo.web;import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
@Controller
public class IndexController {@RequestMapping("/login")public String login() {return "login";}@RequestMapping("/userLogin")public String userLogin() {return "userLogin";}@RequestMapping("/reader")public String reader(HttpServletRequest httpServletRequest,ModelMap modelMap) {HttpSession session = httpServletRequest.getSession();System.out.println(session.getAttribute("myId"));if(session.getAttribute("myId")==null) return "login";modelMap.addAttribute("myId",session.getAttribute("myId"));modelMap.addAttribute("myRole",session.getAttribute("myRole"));modelMap.addAttribute("myName",session.getAttribute("myName"));modelMap.addAttribute("myPhoto",session.getAttribute("myPhoto"));return "reader";}@RequestMapping("/manager")public String manager(HttpServletRequest httpServletRequest,ModelMap modelMap) {HttpSession session = httpServletRequest.getSession();System.out.println(session.getAttribute("myId"));if(session.getAttribute("myId")==null) return "login";modelMap.addAttribute("myId",session.getAttribute("myId"));modelMap.addAttribute("myRole",session.getAttribute("myRole"));modelMap.addAttribute("myName",session.getAttribute("myName"));modelMap.addAttribute("myPhoto",session.getAttribute("myPhoto"));return "manager";}@RequestMapping("/bookManage")public String bookManage(HttpServletRequest httpServletRequest,ModelMap modelMap) {HttpSession session = httpServletRequest.getSession();if(session.getAttribute("myId")==null) return "login";modelMap.addAttribute("myId",session.getAttribute("myId"));modelMap.addAttribute("myRole",session.getAttribute("myRole"));modelMap.addAttribute("myName",session.getAttribute("myName"));modelMap.addAttribute("myPhoto",session.getAttribute("myPhoto"));return "bookManage";}@RequestMapping("/record")public String record(HttpServletRequest httpServletRequest,ModelMap modelMap) {HttpSession session = httpServletRequest.getSession();if(session.getAttribute("myId")==null) return "login";modelMap.addAttribute("myId",session.getAttribute("myId"));modelMap.addAttribute("myRole",session.getAttribute("myRole"));modelMap.addAttribute("myName",session.getAttribute("myName"));modelMap.addAttribute("myPhoto",session.getAttribute("myPhoto"));return "record";}@RequestMapping("/bookAnalysis")public String bookAnalysis(HttpServletRequest httpServletRequest,ModelMap modelMap) {HttpSession session = httpServletRequest.getSession();if(session.getAttribute("myId")==null) return "login";modelMap.addAttribute("myId",session.getAttribute("myId"));modelMap.addAttribute("myRole",session.getAttribute("myRole"));modelMap.addAttribute("myName",session.getAttribute("myName"));modelMap.addAttribute("myPhoto",session.getAttribute("myPhoto"));return "bookAnalysis";}@RequestMapping("/logout")public String logout(HttpServletRequest httpServletRequest){HttpSession session = httpServletRequest.getSession();session.setAttribute("myId",null);session.setAttribute("myRole",null);session.setAttribute("myName",null);session.setAttribute("myPhoto",null);return "login";}@RequestMapping("/index")public String dashboard(HttpServletRequest httpServletRequest,ModelMap modelMap) {HttpSession session = httpServletRequest.getSession();System.out.println(session.getAttribute("myId"));if(session.getAttribute("myId")==null) return "login";modelMap.addAttribute("myId",session.getAttribute("myId"));modelMap.addAttribute("myRole",session.getAttribute("myRole"));modelMap.addAttribute("myName",session.getAttribute("myName"));modelMap.addAttribute("myPhoto",session.getAttribute("myPhoto"));return "index";}@RequestMapping("/userIndex")public String userIndex(HttpServletRequest httpServletRequest,ModelMap modelMap){HttpSession session = httpServletRequest.getSession();if(session.getAttribute("userId")==null) return "userLogin";modelMap.addAttribute("userId",session.getAttribute("userId"));modelMap.addAttribute("userName",session.getAttribute("userName"));modelMap.addAttribute("userPhoto",session.getAttribute("userPhoto"));return "userIndex";}@RequestMapping("/userRecord")public String userRecord(HttpServletRequest httpServletRequest,ModelMap modelMap){HttpSession session = httpServletRequest.getSession();if(session.getAttribute("userId")==null) return "userLogin";modelMap.addAttribute("userId",session.getAttribute("userId"));modelMap.addAttribute("userName",session.getAttribute("userName"));modelMap.addAttribute("userPhoto",session.getAttribute("userPhoto"));return "userRecord";}@RequestMapping("/userLogout")public String userlogout(HttpServletRequest httpServletRequest){HttpSession session = httpServletRequest.getSession();session.setAttribute("userId",null);session.setAttribute("userName",null);session.setAttribute("userPhoto",null);return "userLogin";}@RequestMapping("/comment")public String comment(HttpServletRequest httpServletRequest,ModelMap modelMap){HttpSession session = httpServletRequest.getSession();if(session.getAttribute("userId")==null) return "userLogin";modelMap.addAttribute("userId",session.getAttribute("userId"));modelMap.addAttribute("userName",session.getAttribute("userName"));modelMap.addAttribute("userPhoto",session.getAttribute("userPhoto"));return "comment";}@RequestMapping("/recommend")public String recommend(HttpServletRequest httpServletRequest,ModelMap modelMap){HttpSession session = httpServletRequest.getSession();if(session.getAttribute("userId")==null) return "userLogin";modelMap.addAttribute("userId",session.getAttribute("userId"));modelMap.addAttribute("userName",session.getAttribute("userName"));modelMap.addAttribute("userPhoto",session.getAttribute("userPhoto"));return "recommend";}@RequestMapping("/elasticsearch")public String elasticsearch(HttpServletRequest httpServletRequest,ModelMap modelMap){HttpSession session = httpServletRequest.getSession();if(session.getAttribute("userId")==null) return "userLogin";modelMap.addAttribute("userId",session.getAttribute("userId"));modelMap.addAttribute("userName",session.getAttribute("userName"));modelMap.addAttribute("userPhoto",session.getAttribute("userPhoto"));return "elasticsearch";}
}












基于SpringBoot的大数据个性化推荐的图书借阅管理系统相关推荐

  1. 基于SpringBoot的个性化推荐的图书借阅管理系统前后台设计

    目录 1 需求分析 1 2技术栈 1 3 总体设计 1 3.1 系统功能概述 1 3.1.1 前台系统 1 3.1.2 后台系统 2 3.2 E-R模型 2 3.3 系统流程图 4 4 详细设计 5 ...

  2. 基于云服务器 B/S模式 JavaWeb RFID 图书借阅管理系统

    RFID图书借阅管理系统:点击此处访问系统 前排提示: 源码.文档(开题/结题报告/演示视频)包含于上述链接. 本文是一篇初学者写的 "软件文档". 全部仔细阅读完毕需要10min ...

  3. 个人对大数据个性化推荐的理解

    一.写在之前的题外话 缘起. 想起要写这篇文章,一方面是昨天终于把项亮写的<推荐系统实践>给看完了,另一方面是自己负责的推荐系统项目已经处于一个多版本迭代的阶段了,并且从最近的AB测试效果 ...

  4. 基于微信小程序的线上图书馆图书借阅管理系统#毕业设计

    项目介绍 随着电子商务快速发展世界各地区,各个高校对图书馆也起来越重视.图书馆代表着一间学校或者地区的文化标志,因为图书馆丰富的图书资源能够带给我们重要的信息资源,图书馆管理系统是学校管理机制重要的一 ...

  5. 【毕业设计_课程设计】基于大数据个性化音乐推荐算法分析

    文章目录 0 前言 1 研究目的 2 研究方法 2.1 传统推荐算法 2.2 基于LightGBM决策树模型的推荐算法 3 研究结论 4 最后 0 前言 基于大数据个性化音乐推荐算法分析 提示:适合用 ...

  6. 往期直播:《驴妈妈,基于混合云的OTA行业数据分析、精准运营和大数据用户推荐》...

    最新活动报名: 3月16日直播<空格技术架构云上实践与经验>:https://yq.aliyun.com/webinar/join/4 3月18日直播<爆款App小咖秀产品服务端架构 ...

  7. 基于个性化推荐的图书网站设计与实现

    项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等.这里根据疫情当下,你 ...

  8. 不断迭代,严苛细节,最终性能如何满足? 基于ELK的大数据平台实践分享

    摘要: 在2018年Elastic Meetup 南京交流会中,来自云利来科技的涂海波为现场的听众带来了题为<南京云利来基于ELK的大数据平台>的精彩分享.在本次分享中,他首先进行了公司简 ...

  9. 泰迪云课堂数据分析案例:广电大数据营销推荐项目

    泰迪云课堂数据分析案例:广电大数据营销推荐项目,通过学习本案例,可掌握缺失值和重复值处理的常用方法,熟悉绘制pyplot图形进行探索分析的方法,并可以构建相关特征和推荐模型,为后续相关课程学习及将来从 ...

最新文章

  1. asp.net 对xml文件的读写,添加,修改,删除操作
  2. GIS开发随笔(2)——关于建立GIS数据库的几个问题
  3. 【JavaScript】核心语法之数组
  4. 8051单片机指令和寻址方式
  5. .net core中的高效动态内存管理方案
  6. JS重写toString(),打印想要的值
  7. san框架计数的textarea
  8. 点云数据生成三维模型_可直接编辑的高质量3D生成模型:三维深度生成方法SDM-NET...
  9. DataTable转换Xml Xml流转换DataSet
  10. 小程序商店刷榜_APP推广人必看|全球刷榜价格表单
  11. 问题 G: 编写函数:数组的排序 (Append Code)
  12. list所有元素相加 python_什么是序列,Python序列详解(包括序列类型和常用操作)...
  13. python基础刻意练习--Task 6 字典与集合
  14. 捋一捋这些我记不清的python概念
  15. 如何使用python 执行命令行传入的代码
  16. 关于本人树莓派捣鼓过程中的一些记录
  17. Photoshop设计网站原型图
  18. 有财学院http://www.godgold.com/learn/title_asp/index.html
  19. 高级文本编辑器UltraEdit 18 Mac中文版
  20. 统计学方差,中位数,方差,标准差,协方差等的计算

热门文章

  1. 云服务器被植入挖矿木马,CPU飙升200%
  2. jQuery实现的各种前端网页,种类多样
  3. 使用PhoenixSuit.exe刷机失败的解决办法
  4. Infinite-Scroll无限滚动加载数据
  5. InfiniteScroll 无限滚动遇到的坑
  6. 医咖会免费STATA教程学习笔记—如何安装新命令
  7. Redhat Linux 2.6.18下安装MySQL 5.1.7及Navicat 8
  8. js方法 使url 转码编码
  9. JavaEE——Spring AOP(面向切面编程)
  10. 【工具】FFmpeg|超大视频本地有损压缩,500MB变25MB(支持 Windows、Linux、macOS)