这是一个图书管理系统,都是用原生的·Java Web写的,前后端代码都是自己写的。第一次写博客希望大家能够支持。
项目结构图览
采用的工具与技术
前端页面设计:html+css
后端技术:jsp+servlet+javaBean+jdbc+dao
服务器版本:Tomcat8.5
数据库:Mysql数据库
开发工具:Eclipse、Chorme、Mysql、Navicat Premium 15
图书管理系统数据库设计
1、user(用户信息表)字段:username(用户名(主键))password(密码) sex(性别)
2、administrator(管理员信息表)字段:username(用户名(主键)) password(密码)sex(性别)
3、book(图书信息表) 字段:number(图书编号(主键)) bookname(书名) writer(作者) price(价格) typ(类型) floor(位置) condi(状态)
4、borrowbook(借阅信息表) 字段:id (主键) number(图书编号) bookname(书名) writer(作者) price(价格) typ(类型) floor(位置) name(借书人用户名) ftime(借书时间) ltime(还书时间) condi(状态)
5、amessage(管理员下达通知信息表) 字段:id(主键) content(内容) time(时间)
6、umessage(用户反馈信息表) 字段:id (主键) name(用户名) content(内容) time(时间)
7、message(管理员给用户留言信息表) 字段:id(主键) content(内容) time(时间) name(用户名)
数据库逻辑结构
(1) user(用户信息表)储存用户基本信息
(2)administrator(管理员信息表)储存管理员基本信息
(3)book(图书信息表)储存图书的基本信息,其中condi字段用来储存图书的状态即是否被借,默认为否,如果被借走则为是,被归还则为否
(4)borrowbook(借阅信息表)用来储存被借图书的信息,其中ftime (被借时间) ltime(如果未归还则是最晚还书时间(最晚还书时间为借书时间的后三个月),如果归还则是归还时间) condi(被借图书状态,即是否归还,默认为否,如果归还则为是)
(5)amessage(管理员下达通知信息表)用来储存管理员下达的通知(所有用户都可以在收件箱里看到)
(6)umessage(用户反馈信息表)用来储存用户反馈的信息
(7)message(管理员给用户留言信息表)用来储存管理员给用户的留言
系统实现
(1)登入、注册、退出模块
功能:实现用户和管理员的登录和退出以及用户的注册
视图层:B_login.jsp(登入页面) B_regitesr.jsp(注册页面)
- com.book.bean: B_user.java(包装用户基本信息类)B_administrator.java(包装管理员基本信息类)
- com.book.dao: B_adiministratordao.java B_userdao.java()
包含U_adduser(添加用户),U_finduser(查找用户),A_adduser(添加管理员),A_finduser(查找管理员)
- com.book.dao.impl: B_administratorimpl.java B_userimpl.java(实现方法的接口)
- com.book.servlet B_logionservlet.java B_registerservlet.java B_EncodingFilter.java(编码过滤器) B_exitservlet.java(退出,销毁session)
(2)用户查询图书模块
功能:查询图书、借阅图书
1、视图层:B_referbook.jsp(查找图书) B_referbook1.jsp(借阅图书)
2、com.book.bean: B_borrowbook.java(包装借阅记录的类)
3、com.book.dao: B_borrowbookdao.java borrow(借阅图书方法)
4、com.book.dao.impl B_borrowbookimpl.java (实现借阅功能的接口)
5、com.book.servlet B_borrowbookservlet.java
(3)用户借阅记录模块
功能:查看借阅记录、还书
- 视图层:B_u.record.jsp
- com.book.bean: B_borrowbook.java(包装借阅记录的类)
- com.book.dao: B_returnbookdao.java returnbook(还书方法)
- com.book.dao.impl: B_returnbookimpl.java (实现还书功能的接口)
- com.book.servlet: B_returnbookservlet.java
(4)用户收件箱模块
功能:可以接收来自管理员的信息
- 视图层:B_u.inbox.jsp
(5)系统反馈模块
功能:可以向管理员反馈系统问题
- 视图层: B_u.feedback.jsp
- com.book.bean: B_umessage.java(包装用户反馈的信息的类)
- com.book.dao: B_umessagedao.java addcontent(提交留言的方法)
- com.book.dao.impl: B_umessageimpl.java (实现提交留言功能的接口)
- com.book.servlet: B_umessageservlet.java
(6)设置模块
功能:可以修改自己的密码
- 视图层:B_u.set.jsp(用户设置) B_a.set.jsp(管理员设置)
- com.book.bean: B_user.java(包装用户信息的类)B_administrator.java(包装管理员信息类)
- com.book.dao: B_usetdao.java B_asetdao.java u_findpass、a_findpass(查找原密码) u_mod、a_mod(修改密码)
- com.book.dao.impl: B_usetimpl.java (实现u_findpass和u_mod方法) B_asetimpl.java (实现a_findpass和a_mod方法)
- com.book.servlet: B_setservlet.java
(7)管理员用户管理模块
功能:实现查看用户借阅记录,删除用户,给用户留言功能
- 视图层:B_u.control.jsp(主页面) B_a.check.jsp(查看借阅记录) B_a.mass.jsp(留言页面)
- com.book.bean: B_mass.java(包装管理员向用户留言的类)B_user.java(包装用户信息类)
- com.book.dao: B_massdao.java addmass(添加留言) B_udeletedao.java udelete(删除用户方法)
- com.book.dao.impl: B_massimpl.java (实现添加留言的方法)B_udeleteimpl.java(实现删除用户功能,只有当用户借阅的图书全部归还才能删除)
- com.book.servlet: B_massservlet.java B_udeleteservlet.java
(8)管理员管理图书模块
功能:添加图书、查看所有图书、查看图书详情
- 视图层: B_bookadmi.jsp(添加图书) B_bookadmi1.jsp、 B_bookadmi2.jsp (查看图书)B_bookadmi2.jsp(查看图书详情)
- com.book.bean: B_book.java(包装图书信息类)
- com.book.dao: B_bookdao.java addbook(添加图书)
- com.book.dao.impl: B_bookimpl.java (实现添加图书功能)
- com.book.servlet: B_bookservlet.java
(9)管理员下达通知模块
功能:可以向所有用户下达通知
- 视图层:B_a.feedback.jsp
- com.book.bean: B_amessage.java(包装下达通知信息类)
- com.book.dao: B_amessagedao.java addcontent(添加信息)
- com.book.dao.impl: B_amessageimpl.java (实现addcontent功能)
- com.book.servlet: B_amessageservlet.java
(10)用户反馈模块
功能:查看用户反馈的内容、删除反馈内容
- 视图层: B_a.inbox.jsp
- com.book.bean: B_ainbox.java(包装反馈信息的ID)
- com.book.dao: B_deainboxdao.java deleteinbox(删除用户反馈信息)
- com.book.dao.impl:B_deleteinbox.java(实现删除信息功能)
- com.book.servlet: B_deleteinboxservlet.java
代码太长这里就不展示了,可以自己去百度网盘把项目下载下来然后导入
链接:https://pan.baidu.com/s/1ihijAysY47jL5957a10Zbg
提取码:d47z