一、义务逻辑设计与实现

1.1 登陆身份验证

本系统分为两个模块,普通读者模块和图书管理员模块。在登陆时选择不同的登录界面进行身份验证。

普通读者模块:实现读者的借书、还书、查询书籍、个人信息等功能。

图 1 用户登录部分代码

管理员模块:实现图书管理员的书籍管理、用户管理、借阅管理。

图 2 管理员登陆部分代码

1.2 个人用户图书借阅与归还

图 3 用户借书部分代码

图 4 用户还书部分代码

布尔类型返回至json,json数据传至html页面

1.3 管理员图书管理

图 5 管理员录入新书部分代码

图 6 类别查询书籍结果部分代码

图 7 查询所有书籍种类部分代码

二、表现层设计与实现

表现层的实现主要是表格和模态框,通过Thymeleaf模板引擎接收数据和部分js接收来自后台的数据。

①登录界面:

图 8 用户登录界面

图 9 管理员登陆界面

登录采用json提交用户名和密码,在后台实现登陆用户的查询,如果返回的用户存在(/isUserExist /isAdminExist)则跳入index页面。

图 10 JQuery校验管理员用户名和密码

图 11 JQurey校验普通用户用户名和密码

将身份信息部分存入session中,登陆成功:

图 12 登录状态展示代码

图 13 登录状态展示

②登录后的index页面

普通读者端:

图 14 普通读者端登录界面

侧边导航栏的代码是相同的,通过li标签和js实现开合效果

图 15 左侧导航栏代码

图 16 垂直导航栏子功能代码

③一些功能页面

管理:

图 17 添加书籍界面

图 18 新建类别界面

图 19 查询用户界面

图 20 新增用户界面

图 21 借书记录界面

图 22 用户借书界面

图 23 用户还书界面

图 24 查询书籍界面

图 25 个人信息界面

图 25 修改信息界面

三、项目难点及解决方案

1.Filter拦截器导致首页静态资源访问异常

刚开始使用拦截器没有注意静态资源的问题,导致首页jQuery等静态资源尝试从localhost加载产生异常,如图。

图 26 未加载静态资源

图 27 浏览器开发者工具网络加载状态

经过排查发现,拦截器要放开不需要登录的其他所有可以访问的路径,包括静态资源的路径,经过几番尝试,摸索出来了合适的结果

图 28 资源路径

图 29 过滤器部分代码

2. 部署后服务器出现错误代码500/502等

图 30 错误代码500/502

JDBC和Mapping配置有误

图 31 静态资源路径src路径

静态资源路径src路径指向有误

四、典型代码片段与设计过程

以借书还书功能为例:

①用户输入书籍ID后,点击submit提交表单

图 32 用户借书界面

图 33 界面实现代码

②Jquery开始处理submit,调用borrowingBook函数

图 34 借书部分Jquery代码

③borrowingBook实现,ajax发起请求,成功得到json返回的数据,弹窗借书的状态,失败则弹窗失败

图 35 borrowingBook实现代码

④UserController负责接收处理ajax的请求。

图 36 接受处理请求代码

⑤调用service接口中借书处理的API.

图 37 调用service API处理借书代码

⑥借书操作API的具体实现。

首先,从session获得当前用户名。

然后,检查该书是否可借,从借书记录表中查询该书是否已借出,若已借出则返回false。

最后,增加一条借书记录。

完成借书操作,返回true。

图 38 借书操作API实现代码

⑦还书操作API的实现。

首先,从session获得当前用户名。

然后,删除数据库中user_d等于userId,book_id等于bookId的记录。

完成还书操作,返回true。

图 39 还书操作API的实现代码

点击到网页

转载于:https://www.cnblogs.com/EST-woah/p/11049398.html

图书馆管理系统--stage2核心代码实现相关推荐

  1. 图书馆管理系统C语言代码

    图书馆管理系统C语言代码,直接copy可用.本文实例为大家分享C语言实现图书馆管理系统的具体代码,供大家参考. 1.图书馆管理系统C语言代码如下: #include <stdio.h>#i ...

  2. Stage2 核心代码

    一.项目结构 二.pom依赖(主要依赖)                                          在<build></build>中插入以下代码,识别 ...

  3. 大一java图书馆管理系统课程设计

    大一java图书馆管理系统课程设计 代码仅供参考!!!仅供参考!!! 效果图如下 管理员用户名:123  密码123 密码错误的话进入项目resources文件夹有个LMS数据库,使用数据库客户端打开 ...

  4. 图书馆管理系统代码html语言,html图书管理系统

    [实例简介] 完整的前端代码 图书管理系统~~ [实例截图] [核心代码] StudentBookingSystem-master └── StudentBookingSystem-master ├─ ...

  5. c语言课程设计作业图书管理系统,C语言课程设计图书馆管理系统程序代码.doc

    C语言课程设计图书馆管理系统程序代码.doc includestdio.h includewindows.h includestring.h includeconio.h define M 100 s ...

  6. 图书馆管理系统代码源码(php+css+js+mysql) 完整的代码源码

    图书馆管理系统代码源码(php+css+js+mysql) 完整的代码源码,系统使用B/S架构. 优化过的界面,拥有管理员和普通用户,普通用户可注册登录,管理员可登录,功能齐全. 管理员可管理普通用户 ...

  7. php竞彩足球源码,图书馆管理系统代码 足球联赛系统代码

    [实例简介] mysql数据库 图书管理系统是课程实习作业 已高分通过验收 但是没有分层 比较简单 足球联赛可支持偶数只球队进行循环比赛 每个队伍有五名队员 每个队员有四个属性值 决定了这个队员的进攻 ...

  8. java控制台输出图书馆管理系统(只用java代码不用数据库和GUI等)

    java控制台输出图书馆管理系统(只用java代码不用数据库和GUI,java入门的新手秒懂) 在个项目中,我只用数组保存数据,和只用for循环和if条件语句来完成,连数组工具类都没用,所以导致要用到 ...

  9. 图书馆借阅代码Java_java图书馆管理系统源代码 图书借阅和归还管理

    图书馆管理系统主要的目的是实现图书馆的信息化管理.图书馆的主要业务就是新版书的借阅和归还,因此系统最内核的功能便是实现图书的借阅和归还.此外,还需要提供图书的信息查询.读者图书借阅情况的查询等功能.项 ...

最新文章

  1. 用python做乘法口诀表_使用python写乘法口诀表
  2. 核磁共振影像数据处理-1(下)-DWI基础、Li‘s have a solution and plan.
  3. 一文助你解决90%的自然语言处理问题(附代码)
  4. 解决 WordPress“正在执行例行维护,请一分钟后回来”
  5. c++ 数组指针形参,并返回数据
  6. Spring Cloud Alibaba - 05 Nacos 领域模型_NameSpac/Group/Cluster
  7. 依赖版本控制-pom文件介绍
  8. Linux Shell脚本 - 什么是Shell
  9. Windows高级编程学习笔记(一)
  10. Leetcode--150. 逆波兰表达式求值
  11. 传动系统结构简图_立式砂磨机与卧式砂磨机的结构特点比较
  12. 怎么使用php连接mysql_如何使用PHP连接MySQL
  13. HDU-1584蜘蛛牌
  14. VS中依赖库相对路径的配置及项目间依赖项
  15. Android拦截陌生号码,安卓手机应该如何设置拦截陌生号码
  16. 初探可视化新秀PyG2Plot
  17. Windows 10 布置IP安全策略
  18. 学习云计算有什么用处 该怎么学好云计算技术
  19. 看过这100个知识点,模电其实也不难
  20. 到底什么是链接,它起到了什么作用?

热门文章

  1. 用户体验的要素pdf_写给设计师的用户体验基础(二)
  2. VMware15.5虚拟机软件安装教程(多图流步骤详细)
  3. 计算机视觉领域经典论文源码大全
  4. Excel彻底清除单元格内容
  5. 英语信函范文之介绍信
  6. 模式识别 实验四 手写数字识别的神经网络算法设计与实现
  7. 食品行业MES解决方案
  8. 淘宝客月赚3000元的简单方法
  9. 国内各大互联网公司技术团队站点
  10. AppUI自动化测试效率提升方案