首页 > 其他分享 >图书馆管理系统

图书馆管理系统

时间:2022-09-18 22:56:18浏览次数:66  
标签:varchar 管理系统 用户 信息 图书馆 Servlet 图书 页面

基于JSP、MVC模式、Mysql实现

一、需求分析

系统的主要目的是实现一个图书管理系统。系统有2类用户分别为管理员、读者,其中读者分为学生、老师、其他用户。管理员经认证检查后进入系统,管理员可完成维护系统的功能,管理图书(查看书籍状态信息,增加、修改、删除图书)、管理读者的账户信息(查看、修改、删除),查阅读者的借阅记录,工作完成后可退出系统。读者经过认证后进入读者专属页面,可以查询图书、修改个人资料、查询个人借阅信息、归还借阅图书的功能,完成后可以退出系统。

二、数据库设计

图书信息表
字段 类型 描述
Id int 书籍id
book_name varchar 书籍名称
author varchar 作者
publish varchar 出版社
isbn varchar 书籍编码
introduction varchar 书籍介绍
language varchar 书籍语言
price decimal 书籍售价
pubdate date 发布日期
pressmark varchar 书架号
state int 书籍状态 0 空闲 1借阅 2下架 3 其他
is_deleted int 删除状态 0 删除 1未删除

用户信息表
字段 类型 描述
Id int 用户id
user_name varchar 账号
password varchar 密码
phone_num varchar 手机号码
email varchar 邮箱
is_deleted int 是否删除 0 删除 1未删除
category int 用户类别 1学生 2老师 3其他用户 4 管理员

借阅信息表
字段 类型 描述
Id int 借阅记录id
book_id int 书籍编号
user_name varchar 用户账号
lend_date date 借阅时间
back_date date 归还时间

三、系统各模块设计

实现模式
所有服务部署在Tomcat上,Servlet控制层响应客户端的请求,随后调用Service业务层,Service调用Dao层中的功能,在Dao层中连接Mysql数据库,Mysql响应数据返回Dao层Service层Servlet层 最后返回至客户端

功能流程图

1.登录模块
①检查用户输入的账号以及密码是否与数据库中匹配,若不匹配则再次返回登录页面,并提示用户输入正确的账号与密码
②用户输入的账户密码正确,则跳转至对应的页面,管理员跳转至管理员页面,读者跳转至读者页面

2.过滤器模块
1)页面拦截
①只有已登录的用户才能访问后续的页面,禁止未登录的用户跳过登录直接访问后续的页面
②在session中存入登录信息,除了访问登录页面,拦截没有登录信息的访问
2)设置UTF-8编码格式
为所有页面设置UTF-8编码格式

3.注销模块
①调用session中的注销方法
②重新跳转至登录页面

4.查询用户信息、查询图书信息模块
①Servlet层接到客户端的请求,判断请求为查询类型,进行查询响应,调用查询的方法
②Dao层连接上数据库,通过sql语句接收到所有用户的信息
③通过Servlet层返回用户信息,跳转至用户信息查询页面/图书信息查询页面

5.添加用户、添加图书模块
①Servlet层接到客户端的请求,判断请求为添加类型,跳转至添加信息页面,提交至Servlet层,Servlet获取到用户提交的表单信息,进行添加响应
②Dao层连接上数据库,通过sql语句将表单信息存入数据库
③随后Servlet层再次跳转至查询页面

5.1检查添加用户名
在管理员添加读者或其他用户时,检查添加的用户名是否已被注册

6.修改用户信息、图书信息模块
①Servlet层接到客户端的请求,判断请求为修改类型,跳转至修改页面,页面拉取到需要修改的用户/图书信息,提交信息至Servlet层,进行修改响应
②Dao层连接上数据库,通过sql语句将表单信息更新存入数据库
③随后Servlet层再次跳转至查询页面

6.1反射的应用
由于修改表单时,要拉取的原信息比较繁杂,且用户信息修改与图书信息修改大同小异,所以创建一个反射类的工具包,统一处理
①反射出用户或者图书中的成员属性
②将接收到的表单信息存入map中
③在循环中将传入的表单信息进行类型转换
④一一对应将转换后的信息存入反射出的成员属性中
⑤最后将用户信息/图书信息返回

7.删除用户/图书模块
由于后续管理需要,删除用户信息/图书信息不采用真实的物理删除,采用逻辑删除,即在用户信息/图书信息添加标识符标识是否被删除,被删除的信息不展示

8.归还图书模块
①Servlet层接到客户端的还书请求,连接到相应的service业务处理层
②service业务处理层中,将图书状态更新为空闲,再调用Dao层的归还方法,更新借阅记录表中的信息
③Dao层连接上数据库,更新数据库中的借阅记录信息和图书信息
④随后Servlet层再次跳转至查询借书信息的页面

9.排序模块
①Servlet层接到客户端的排序请求,进行一遍图书查询,将查询结果存到List中
②根据客户端传入的排序类型,进行作者、书名、出版社,调用相应的service层排序方法
③service层调用Dao层相应的排序方法,Dao层将结果返回service再返回servlet层,servlet层存入request中,转发至相应的页面展示给客户端

四、系统部署与运行

本项目部署于Tomcat 8.5.7上,运行Tomcat以期运行该项目系统

标签:varchar,管理系统,用户,信息,图书馆,Servlet,图书,页面
From: https://www.cnblogs.com/Gege-1/p/16706144.html

相关文章