文章目录
1 项目简介
🔥 Hi,各位同学好呀,这里是L学长!
🥇今天向大家分享一个今年(2023)最新完成的毕业设计项目作品,基于java web的在线图书管理系统
🥇 学长根据实现的难度和等级对项目进行评分(最低0分,满分5分)
- 难度系数:3分
- 工作量:3分
- 创新点:3分
项目分享:见文末!
2 实现效果
废话不多说,先上实现效果
篇幅有限,本文不做过多展示
3 系统设计
3.1 功能需求
在线图书管理系统利用软件工程思想,将整个系统结构化,分为三大模块:学生管理模块、系统管理员端和公共模块。该系统的总用例图如图
学生端
① 在线查询:学生联网浏览馆内书籍信息,找到自己需要的书,原则上规定如果某书目的馆藏总量低于5本,将不能供学生借阅,学生在借总量超过10本时,也不能继续借阅。
② 查询历史书单:每个学生可同时借阅多次,每次可借阅多本书籍,查看历史书单可帮助学生查询历史借阅情况,包含借阅时间,借阅状态和每次借阅书目总量。
③ 查询书单明细:学生可查阅每个借阅书单的详细书目信息和借阅时间。
④ 续借:如果学生所借书籍即将到期还未看完时,可以续借,每续借一次,书籍的使用期限增加7天。
⑤ 添加书目:学生网上查询想要借阅的书籍,添加到小小车中,添加一本或多本后,可检查小小车中所添加的书目信息,确认无误后,提交预约书单,成功借阅。
⑥ 查看小小车:学生在浏览书目时,可以查看小小车中的书目信息,从而帮助判断将要添加的书籍,也可在被页面中删除已经添加进小小车中的部分书籍,对小小车中的书籍信息进行更新。
⑦ 清空小小车:学生如果不满意添加进小小车中的所有书籍,可以直接清空小小车,删除车中所有书目信息
管理员端
① 添加用户:点击添加用户按钮后 ,输入学生的基本信息,点击提交,完成新用户的添加,数据库中的用户表也将同步更新。
② 删除用户:点击删除用户按钮后,输入学生帐号,则可删除用户,同时数据库中的用户表也将同步更新。
③ 查看用户借阅状态:点击查看用户借阅状态按钮,则可直接在页面右侧显示所有注册用户的借阅状态。
④ 逾期通知:管理员可直接查看学生的借阅状态,若学生的借阅状态为超期,则点击该学生的明细信息,根据所留的邮箱或者电话进行逾期通知。
⑤ 添加书籍:新书到馆时,点击添加书籍按钮,并输入该书籍的相关信息,如书名,出版社,出版时间等,点击提交添加新的书目信息到数据库中。
⑥ 删除书籍:当馆藏书籍陈旧或因其他原因需要下架时,点击删除书籍按钮,并输入该书目名称,则可将图书馆中该书目信息进行删除。
⑦ 修改书籍:当书目总量发生改变时,点击修改书籍按钮,输入书籍名称和最新数量,点击提交,即可完成数据库馆藏信息的更新。
⑧ 图书归还:输入书籍名称和用户ID,学生核对情况后,完成还书。
管理员端用例图如图
3.2 功能设计
E-R (Entity-Relationship)图,用于描述实体的属性以及实体之间的联系,可以帮助我们在系统设计阶段描绘出数据库的概念模型。在线图书管理系统中主要涉及bm_book,bm_user,bm_order,bm_line四个实体,bm_book中用于记录保存馆藏书目信息,bm_user中同时包含管理员和学生信息,bm_order中保存学生的借阅书单,bm_line保存书单的详细条目信息。这四个实体之间的具体关系如图
4 关键代码
篇幅有限,无法放完整代码,源码分析在工程内
LoginServlet://验证用户信息,完成分端口登录String name = request.getParameter("username");String password = request.getParameter("password");User user;IUserService userService =newUserservice();
user = userService.login(name, password);if(user!=null){HttpSession session = request.getSession();
session.setAttribute("user", user);String type = request.getParameter("selectType");if(type.equals("student")&&user.getFlag()==0){String url ="/BookManagement/student_index.html";
response.sendRedirect(url);}elseif(type.equals("teacher")&&user.getFlag()==1){String url ="/BookManagement/manager_index.html";
response.sendRedirect(url);}else{System.out.println("端口选择不正确");String url ="/BookManagement/error.html";
response.sendRedirect(url);}}else{String url ="/BookManagement/login.html";
response.sendRedirect(url);thrownewCustomerException("您的用户名或者密码输入不正确,请核对后重新输入!");}UserServiceImp://用户登录的逻辑处理publicUserlogin(String name,String password)throwsCustomerException{User user = userMapper.findByName(name);if(name.equals(user.getName())&&password.equals(user.getPassword())){return user;}else{returnnull;}}UserMapper.xml:<select id="findByName" parameterType="String" resultMap="userMap">
select * from bm_user
where username=#{name}</select>
5 论文概览
6 最后
项目分享:见文末!
**项目分享: **
https://blog.csdn.net/mojikopi
版权归原作者 Belinda44 所有, 如有侵权,请联系我们删除。