本项目采用Java框架Struts2与持久层解决方案Hibernate开发,旨在构建高效、易用的图书管理系统,支持书籍信息管理及用户查询功能。
一.功能简介
1. 实现一个图书管理系统。系统将图书信息存储于数据库中。每本图书包含以下字段:书号、书名、作者、价格及备注。
2. 系统需具备如下基本管理功能:
- 用户分为两类,即系统管理员与普通用户。
- 提供注册和登录验证服务;用户的登录信息包括用户名和密码等。
- 管理员可以对已注册的用户进行删除操作,并能实现图书创建、查询、修改及删除等功能。
- 普通用户仅可执行图书查询,借书与还书操作。每个普通用户最多同时持有8本书籍;当持有的书籍数量达到上限时,则不能再继续借阅,直到归还现有书籍后才能重新申请。
二.涉及技术
本项目使用的技术包括Struts2框架、Hibernate框架、MySQL数据库及C3P0数据池等,并结合Jsp、HTML、CSS和JavaScript进行页面开发与美化处理。
三.设计思路
1. 采用基于Struts2与Hibernate的编程方法连接到MySQL数据库,实现对用户信息以及图书记录的数据操作。
- 设计book表存储书籍相关资料;同时创建user表用于保存注册用户的个人信息。在后者中添加一个标识位区分管理员和普通用户角色。
2. 分别定义Book及User类与数据表格相对应,并确保每项资源都有独一无二的ID编号。
3. 创建映射文件(包括User.hbm.xml和Book.hbm.xml)以便于数据库表结构与Java对象之间的交互衔接;
4. 配置hibernate.cfg.xml作为连接数据库的关键配置文档;
5. 编写数据访问工具类,为后续操作提供支持;
6. 设计用于执行具体业务逻辑的DAO层接口:UserDao和BookDao分别负责处理用户表与图书表相关的所有增删改查任务。
7. 构建对应于上述两个DAO接口的Action控制器组件(即UserAction及BookAction),通过注解形式完成其配置工作;
8. 账户分为管理员账户和平民账户两种类型,在注册过程中加以识别,登录时系统将根据身份自动跳转至相应的主界面。
9. 管理员能够执行用户信息的查询、模糊搜索、删除操作(包括单个和批量模式),以及图书管理的相关任务如添加新书目或移除旧版本等;
10. 普通账户则主要集中在借阅服务上,通过点击“当前可借”列表中的书籍来申请借出,并在完成阅读后选择相应选项进行归还处理。