基于MVC模式下的图书管理系统设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计制作
数码世界 P.106基于MVC模式下的图书管理系统设计与实现赵泽忠 攀枝花学院数学与计算机学院 刘欢 攀枝花学院数学与计算机学院
摘要:针对传统基于C/S的图书管理系统,读者借阅书籍,归还书籍以及图书管理员进行书籍的录入、修改等操作均需要复杂且耗时的人力操作,并且伴随着系统操作复杂、更新困难甚至系统的稳定性得不到保障等一系列问题,文章设计与开发了基于B/S系统MVC模式下的线上图书管理系统,主要实现了用户借阅/归还图书,管理员用户信息管理,管理员书籍信息管理等主要的功能模块设计;通过对系统功能模块的具体代码实现;最后经过黑盒测试验证了系统的可行性以及稳定性。
关键词:图书管理系统 MVC 模块设计 黑盒测试
目前,部分图书馆还滞留在 C/S的系统管理层面上;有相当一部分图书馆则利用 B/S结构的线上服务模式为读者提供快速、便捷在线服务。
而本文将设计与实现一款基于MVC模式下的图书管理系统。
使用MVC模式极大的提高了代码复用率,降低系统的耦合性且增加了系统的健壮性。
1 系统详细设计与实现
此系统使用Mysql数据库管理系统进行系统数据库开发,使用Tomcat Web 应用服务器进行系统模拟搭建及测试。
主要实现描述如下:
1.1 管理员图书信息管理设计
管理员进入管理员主界面后可以点击“管理图书”进入图书管理界面,后端代码将查询数据库信息,将所有图书信息显示在管理界面,管理员还可点击“检索”分别按关键字或图书编号进行检索,检索系统将关键字提交到后端,后端代码将查询数据库信息,并将相关书籍信息反馈,检索完毕后页面将显示检索书籍信息,片段后端代码如下:
Connection con =getConnection();
String sql1 = "select * from book where bookName like ? or author like ?";
P r e p a r e d S t a t e m e n t p S t a t e m e n t1=c o n. prepareStatement(sql1);
pStatement1.setString(1, "%"+word+"%");
pStatement1.setString(2,"%"+word+"%");
ResultSet re= pStatement1.executeQuery();
…
修改或删除数据将交由后端代码进行处理,片段代码如下:
Connection con =getConnection();
String sql1 = "UPDATE book SET bookName=? ,au thor=?,press=?,price=?,al lcount=?,surplus=? WHERE bookId=?";
P r e p a r e d S t a t e m e n t p S t a t e m e n t1=c o n. prepareStatement(sql1);
pStatement1.setString(1,book.getBookname());
…
管理员还可点击书籍显示界面的“新增书籍”进如书籍录入界面,用户将书籍信息填入表单提交,前端代码检查数据完整性并交由后端处理,后端代码将对应数据添加至数据库,并返回书籍录入界面显示提示信息。
1.2 用户借阅以及图书归还设计
用户进入用户主界面后可以点击“借阅图书”进入借阅界面,借阅界面将分页显示所有图书信息,用户也可按图书编号或关键字和检索相应图书,交由后端代码查询书籍信息并返回借阅界面显示,部分后端代码如下:
A r r a yL i s t<
B o okUs e d>b o ok A r r a yL i s t=n e w ArrayList<BookUsed>();
PreparedStatement pStatement =null;
try {
Connection con =getConnection();
String sql1 = "select * from book where bookName like ? or author like ?";
Prepare dS t atement p S t atement1 = c on. prepareStatement(sql1);
pStatement1.setString(1, "%"+word+"%");
pStatement1.setString(2, "%"+word+"%");
ResultSet re = pStatement1.executeQuery();
while(re.next()){
BookUsed book = new BookUsed();
book.setNumber(re.getInt(1));
…
bookArrayList.add(book);
}
con.close();
return bookArrayList;
用户点击对应书籍信息后的借阅可进行借阅操作,系统将借阅书籍信息以及用户信息发送至后端,后端检测该书是否还有剩余以及用户可借书数量是否达到最大,判断成功该用户则借阅此书并修改数据库信息,并返回借阅界面提示借阅成功信息,失败则直接返回借阅界面提示错误信息,控制层部分代码如下:
HttpSession session = request.getSession();
Person user = (Person)(session.getAttribute("user"));
String userName = user.getName();
i n t b o o k I d=I n t e g e r.p a r s e I n t(r e q u e s t. getParameter("bookId"));
int state = myFunction.borrowBook(userName,bookId);
if(state==1) {
Cookie cookie = new Cookie("addmes","1");
response.addCookie(cookie);
response.sendRedirect("borrow.jsp");
}else if
…
用户还可点击“归还图书”进入归还图书界面,系统后端将从数据库查询该用户未归还书籍信息并显示,用户可点击相应书籍信息后的“归还图书”进行图书归还操作,片段代码如下:
ArrayList<BorrowMes> borrowArrayList = new ArrayList<BorrowMes>();
PreparedStatement pStatement =null;
try {
Connection con =getConnection();
String sql1 = "select * from borrowing where userName=? and returnData is null";
Prepare dS t atement p S t atement1 = c on. prepareStatement(sql1);
pStatement1.setString(1, userName);
ResultSet re = pStatement1.executeQuery();
while(re.next()){
BorrowMes borrow = new BorrowMes();
borrow.setBorrowNumber(re.getInt(1));
…
));
borrowArrayList.add(borrow);
}
con.close();
return borrowArrayList;
2 结论
文中主要设计了基于MVC模式下的图书管理系统,用户通过线上登陆系统可以进行借阅书籍、归还书籍、个人信息修改等操作;管理员可通过系统进行书籍信息管理、用户信息管理等操作。
本系统稳定性高,操作简便,具有重要的理论研究价值以及实际应用前景。
参考文献
[1] 夏文忠.基于MVC的图书管理系统设计与开发 [A].电脑知识与技术.2011.
[2] 李亚楠.基于B_S模式的图书管理系统的设计与实现 [J].电脑知识与技术.2018.
[3] 徐玲利,李唯.在线点餐系统的设计与实现 [J].电脑知识与技术.2018.。