文章目录
图书馆人员结构复杂,人员数量有限,涉及方面很广,如果还使用手工操作处理图书借阅问题,工作将非常繁琐,需要大量的人力、物理、财力,极大的浪费了资源,对于图书管理人员来说,图书馆管理包括图书信息管理、图书类别管理、借阅信息管理、管理员信息管理等等。而这些项目在过去靠手工操作,需要手工记录这些事情,不但麻烦,还经常出错,给广大用户带来很多不便,因此,开发这样一套图书馆管理系统软件。让管理员方便的管理图书及用户信息,方便用户查找图书。
计算机类毕设源码大全:十几套计算机专业毕业设计文档及源码分享
源码下载:《基于Web的图书管理系统设计与实现(附源码下载地址)》
运行教程:《基于Web的图书管理系统运行教程》
1、本课程设计的目的
2、系统要实现的功能概述
3、实现平台及技术
4、需求分析
系统的主要目的是实现一个图书管理系统。系统有2类用户分别为管理员、 读者会员。管理员经口令认证进人系统后,管理员可完成维护系统的功能,包括管理图书和管理会员。读者会员则完成查询图书、修改个人资料、查询个人借阅信息、归还借阅图书的功能,工作完成后可以退出系统。
5、系统功能模块划分
5.1 系统总体功能模块划分

5.2 用户登录模块
当用普通用户输入用户名和密码后,进行验证,如果用户名和密码其中有一个不正确,则不能登录,并有相应的提示,如果用户没有账号,可以在登录页面进行注册,普通用户可以进行个人资料的查询、修改和修改密码,普通用户可以查询图书信息并借阅和退还,在首页面会展示图书借阅信息和借阅历史信息。
当用管理员输入用户名和密码后,进行验证,如果用户名和密码其中有一个不正确,则不能登录,并有相应的提示,管理员可以进行个人资料的查询、修改和修改密码,管理员可以对图书信息,读者信息,借阅信息进行查看和管理,对图书进行分类

5.3 图书信息管理模块
5.4 读者管理模块
管理员对读者信息可以进行进行修改、删除,并且可以主动添加新用户,该模块显示用户借阅天数,天数会自动变化,管理员可以在线监控读者借阅天数,如果到期未还者,账号则不能登录。

5.5 图书分类管理模块
管理员在线对图书进行管理,对图书分类进行增加,修改,删除操作。

5.6 图书借阅信息模块
管理员可以在线管理借阅信息,可以主动帮读者还书。
5.7 图书归还信息管理模块
显示归还图书的详细信息。
5.8 图书查询模块
用户访问图书查询模块时显示当前可以借阅图书,有按图书名称查询图书信息的功能,可以进行借书操作。
5.9 图书借阅信息模块
显示当前登录用户借阅的所有图书,以及各个图书的编号,图书名称,借阅日期,还书日期,读者账号,读者名称信息。登录用户可以进行还书操作,还书是否成功有相应的提示。
5.10 借阅历史模块
显示当前登录用户的图书借阅记录。
6、数据库设计
6.1 数据库的 E-R 图
Admin(用户)表 E-R 图

Book(图书)表 E-R 图

BookType(图书类型)表 E-R 图

History(历史)表 E-R 图

6.2 数据库数据结构设计
数据库采用的是的mysql数据库,系统主要需要维护4张数据表:
用户表信息(admin):

图书表信息(book):

图书类型表信息(bookType):

图书历史表信息(history):

7、系统详细设计和实现
7.1 用户登录
package com.rain.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.websocket.Session; import com.rain.bean.AdminBean; import com.rain.dao.AdminDao; @WebServlet("/LoginServlet") public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L; public LoginServlet() {
super(); } Protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//登录的判断 PrintWriter out = response.getWriter(); request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); //获取账号和密码 String username = request.getParameter("username"); String password = request.getParameter("password"); AdminDao userdao = new AdminDao(); //对账号和密码进行判断 boolean result = userdao.Login_verify(username, password); HttpSession session = request.getSession(); //判断输入正确 if (result) {
AdminBean adminbean = new AdminBean(); AdminDao admindao = new AdminDao(); //更加账号和密码查找出读者的信息 adminbean = admindao.getAdminInfo(username, password); //将aid存入session中 session.setAttribute("aid", "" + adminbean.getAid()); //设置session的失效时间 session.setMaxInactiveInterval(6000); //根据status的值来判断是管理员,还是读者,status=1为读者 if (adminbean.getStatus() == 1) {
response.sendRedirect("/books/index2.jsp"); } else {
response.sendRedirect("/books/admin.jsp"); } } else {
//没有找到对应的账号和密码,返回重新登录 session.setAttribute("state", "密码错误"); response.sendRedirect("/books/login.jsp"); } } }
7.2 图书查询
package com.rain.servlet; import java.io.IOException; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.rain.bean.BookBean; import com.rain.dao.BookDao; @WebServlet("/selectServlet") public class selectServlet extends HttpServlet {
private static final long serialVersionUID = 1L; public selectServlet() {
super(); // TODO Auto-generated constructor stub } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); //因为在管理员界面和读者界面都有查找功能,为了将查找的结果返回正确的页面,设置了tip,tip=1表示管理员界面 int tip = Integer.parseInt(request.getParameter("tip")); String name = request.getParameter("name"); BookDao bookdao = new BookDao(); ArrayList<BookBean> data = bookdao.getLikeList(name); //将获取的结果存入请求中 request.setAttribute("data", data); String url = ""; //转发不同的界面 if (tip == 1) {
url = response.encodeURL("admin_book.jsp"); } else {
url = response.encodeURL("select.jsp"); } //将请求转发 request.getRequestDispatcher(url).forward(request, response); } }
7.3 添加图书

主要代码:
package com.rain.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.rain.dao.BookDao; @WebServlet("/AddBookServlet") public class AddBookServlet extends HttpServlet {
private static final long serialVersionUID = 1L; public AddBookServlet() {
super(); // TODO Auto-generated constructor stub } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置编码类型 request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); //获取要添加图书的信息 String card = request.getParameter("card"); String name = request.getParameter("name"); String type = request.getParameter("type"); String autho = request.getParameter("autho"); String press = request.getParameter("press"); int num = Integer.parseInt(request.getParameter("num")); BookDao bookdao = new BookDao(); //调用函数,存入图书 bookdao.addBook(card, name, type, autho, press, num); response.sendRedirect("/books/admin_book.jsp"); } }
7.4 图书信息修改

主要代码:
package com.rain.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.rain.dao.BookDao; @WebServlet("/updateBookServlet") public class updateBookServlet extends HttpServlet {
private static final long serialVersionUID = 1L; public updateBookServlet() {
super(); // TODO Auto-generated constructor stub } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//修改图书信息 request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); String card = request.getParameter("card"); String name = request.getParameter("name"); String type = request.getParameter("type"); String autho = request.getParameter("autho"); String press = request.getParameter("press"); int num = Integer.parseInt(request.getParameter("num")); Int bid = Integer.parseInt(request.getParameter("updatebid")); BookDao bookdao = new BookDao(); bookdao.updateBook(bid, card, name, type, autho, press, num); response.sendRedirect("/books/admin_book.jsp"); } }
7.5 图书删除
主要代码:
package com.rain.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.rain.dao.BookDao; @WebServlet("/deleteServlet") public class deleteServlet extends HttpServlet {
private static final long serialVersionUID = 1L; public deleteServlet() {
super(); // TODO Auto-generated constructor stub } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//删除图书信息 request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); int bid = Integer.parseInt(request.getParameter("bid")); BookDao bookdao = new BookDao(); bookdao.deleteBook(bid); response.sendRedirect("/books/admin_book.jsp"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub doGet(request, response); } }
8、源码下载
本期就分享到这里,欢迎点赞、分享,如需本系统完整源码请在下方名片后台回复“基于web的图书管理系统”。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/199752.html原文链接:https://javaforall.net
