这是一个图书管理系统,都是用原生的·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(时间)
【Java|Java Web程序设计——图书管理系统】
文章图片
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.javaB_userdao.java()
- com.book.dao.impl: B_administratorimpl.javaB_userimpl.java(实现方法的接口)
- com.book.servletB_logionservlet.javaB_registerservlet.javaB_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.javaborrow(借阅图书方法)
4、com.book.dao.implB_borrowbookimpl.java (实现借阅功能的接口)
5、com.book.servletB_borrowbookservlet.java
(3)用户借阅记录模块
功能:查看借阅记录、还书
- 视图层:B_u.record.jsp
- com.book.bean:B_borrowbook.java(包装借阅记录的类)
- com.book.dao:B_returnbookdao.javareturnbook(还书方法)
- com.book.dao.impl:B_returnbookimpl.java(实现还书功能的接口)
- com.book.servlet:B_returnbookservlet.java
(4)用户收件箱模块
功能:可以接收来自管理员的信息
- 视图层:B_u.inbox.jsp
功能:可以向管理员反馈系统问题
- 视图层:B_u.feedback.jsp
- com.book.bean:B_umessage.java(包装用户反馈的信息的类)
- com.book.dao:B_umessagedao.javaaddcontent(提交留言的方法)
- 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.javau_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.javaaddmass(添加留言)B_udeletedao.javaudelete(删除用户方法)
- com.book.dao.impl:B_massimpl.java(实现添加留言的方法)B_udeleteimpl.java(实现删除用户功能,只有当用户借阅的图书全部归还才能删除)
- com.book.servlet:B_massservlet.javaB_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.javaaddbook(添加图书)
- 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.javaaddcontent(添加信息)
- com.book.dao.impl:B_amessageimpl.java(实现addcontent功能)
- com.book.servlet:B_amessageservlet.java
功能:查看用户反馈的内容、删除反馈内容
- 视图层:B_a.inbox.jsp
- com.book.bean:B_ainbox.java(包装反馈信息的ID)
- com.book.dao:B_deainboxdao.javadeleteinbox(删除用户反馈信息)
- com.book.dao.impl:B_deleteinbox.java(实现删除信息功能)
- com.book.servlet: B_deleteinboxservlet.java
代码太长这里就不展示了,可以自己去百度网盘把项目下载下来然后导入
链接:https://pan.baidu.com/s/1ihijAysY47jL5957a10Zbg
提取码:d47z
文章图片
推荐阅读
- python基础|[python基础] 面向对象——封装,继承
- MySQL数据库|关于JDBC连接MySQL数据库发生的异常
- 笔记|Springboot----项目整合微信支付(用户取消订单)
- 前端|vue接口token认证登录(加手机验证)
- java|@GetMapping、@PostMapping 和 @RequestMapping详细区别附实战代码(全)
- 爬虫|python采集天气数据 并做数据可视化 (含完整源代码)
- Java面向对象程序设计|Java程序设计——JDBC基础(JDBC编程)
- “李记餐厅”微信点餐小程序+后台管理系统
- 校园生活助手小程序