——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
前台:登录、查看图书列表、借书、还书、导出借书信息
后台:图书管理、借阅审核、还书审核、用户管理、图书类别管理、借书数据统计图、导出图书信息

前台



后台:








技术框架
JSP Servlet MySQL JDBC Tomcat CSS JavaScript
基于javaweb的JSP+Servlet图书借阅管理系统(前台、后台)(java+jsp+servlet+javabean+mysql+tomcat)
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| bookCase = bookAdminService.findBookCaseById(Integer.valueOf(bookCaseId)); book = new Book(); book.setId(Integer.valueOf(bookIdStr)); book.setName(name); book.setAuthor(author); book.setPublish(publish); book.setPages(Integer.valueOf(pageStr)); book.setPrice(Float.valueOf(priceStr)); book.setBookCase(bookCase); book.setAbled(1); bookService.modifyBook(book); resp.sendRedirect(req.getContextPath()+"/book/book-list.jsp"); break; case "preAdd": bookCaseList = bookAdminService.findAllBookCase(); req.setAttribute("list",bookCaseList); req.getRequestDispatcher("/book/book-add.jsp").forward(req,resp); break; case "add": name = req.getParameter("name"); author = req.getParameter("author"); publish = req.getParameter("publish"); pageStr = req.getParameter("pages"); priceStr = req.getParameter("price"); bookCaseId = req.getParameter("bookCaseId"); bookCase = bookAdminService.findBookCaseById(Integer.parseInt(bookCaseId)); book = new Book(name,Integer.parseInt(pageStr),Float.parseFloat(priceStr),publish,author,bookCase,1); bookService.addBook(book); resp.sendRedirect(req.getContextPath()+"/book/book-list.jsp"); break; case "delete": bookIdStr = req.getParameter("bookId"); book = bookService.findBookById(Integer.parseInt(bookIdStr)); book.setBookCase(null); bookService.deleteBookById(Integer.parseInt(bookIdStr)); resp.sendRedirect(req.getContextPath()+"/book/book-list.jsp"); break;
} } } } package com.demo.controller;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| } borrow.setState(5); borrow.setReturntime(DateUtils.dateToString(new Date())); bookAdminService.modifyBorrow(borrow); resp.sendRedirect(req.getContextPath() + "/admin/return-manage.jsp"); break; } break; } break;
case "getBookData": switch (type) { case "pie": List<BookPieData> bookPieDataList = bookAdminService.findBookDataForPie(); JSONArray jsonArray = JSONArray.fromObject(bookPieDataList); resp.getWriter().write(jsonArray.toString()); break; case "bar": BookBarData bookBarDataList = bookAdminService.findBookDataForBar(); jsonObject = JSONObject.fromObject(bookBarDataList); resp.getWriter().write(jsonObject.toString()); break; } case "exportDataInfo": switch (type) { case "book": HSSFWorkbook hssfWorkbook = bookService.findWorkBook(); resp.setContentType("application/x-msdownload");
String fileName = "图书信息"; fileName = URLEncoder.encode(fileName, "UTF-8"); resp.setHeader("Content-Disposition", "attachment;filename*=utf-8'zh_cn'" + fileName + suffix); OutputStream outputStream = resp.getOutputStream(); hssfWorkbook.write(outputStream); outputStream.close(); break;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| returnBook.setState(3); bookAdminService.modifyReturn(returnBook); int bookId = returnBook.getBook().getId(); book = bookService.findBookById(bookId); book.setAbled(1); bookService.modifyBook(book); borrow = readerService.findBorrowByIds(book.getId(), returnBook.getReader().getId(), 4); if (borrow == null) {
borrow = readerService.findBorrowByIds(book.getId(), returnBook.getReader().getId(), 5); } if (borrow != null) { borrow.setState(3); borrow.setReturntime(DateUtils.dateToString(new Date())); bookAdminService.modifyBorrow(borrow); resp.sendRedirect(req.getContextPath() + "/admin/return-manage.jsp"); } else { resp.sendRedirect(req.getContextPath() + "/admin/return-manage.jsp"); } break;
case "disagree": returnIdStr = req.getParameter("returnId"); bookAdmin = (BookAdmin) session.getAttribute("bookAdmin"); returnBook = bookAdminService.findReturnById(Integer.parseInt(returnIdStr)); returnBook.setBookAdmin(bookAdmin); returnBook.setReturntime(DateUtils.dateToString(new Date())); returnBook.setState(5); bookAdminService.modifyReturn(returnBook); bookId = returnBook.getBook().getId(); book = bookService.findBookById(bookId); book.setAbled(0); bookService.modifyBook(book); borrow = readerService.findBorrowByIds(book.getId(), returnBook.getReader().getId(), 0); if (borrow == null) { borrow = readerService.findBorrowByIds(book.getId(), returnBook.getReader().getId(), 4); } if (borrow == null) { borrow = readerService.findBorrowByIds(book.getId(), returnBook.getReader().getId(), 5); } borrow.setState(5); borrow.setReturntime(DateUtils.dateToString(new Date())); bookAdminService.modifyBorrow(borrow); resp.sendRedirect(req.getContextPath() + "/admin/return-manage.jsp");
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
public class ReaderServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req,resp); }
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setCharacterEncoding("utf-8"); HttpSession session = req.getSession(); ReaderService readerService = new ReaderServiceImpl(); BookService bookService = new BookServiceImpl(); BookAdminService bookAdminService = new BookAdminServiceImpl(); String method = req.getParameter("method"); int count = 0; Reader reader; String bookIdStr; String borrowId; if (method == null){ reader = (Reader) session.getAttribute("reader"); Constants.pageStr = req.getParameter("page"); Constants.limitStr = req.getParameter("limit"); List<Borrow> borrowList = readerService.findBorrowsByReaderId(reader.getId(),Integer.valueOf(Constants.pageStr),Integer.valueOf(Constants.limitStr)); count = readerService.findBorrowsCountByReaderId(reader.getId()); BorrowVO borrowVO = new BorrowVO(); borrowVO.setCode(0); borrowVO.setMsg(null);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| bookService.deleteBookById(Integer.parseInt(bookIdStr)); resp.sendRedirect(req.getContextPath()+"/book/book-list.jsp"); break;
} } } } package com.demo.controller;
public class AccountServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req,resp); }
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String method = req.getParameter("method"); String type = req.getParameter("type"); AccountService accountService = new AccountServiceImpl(); HttpSession session = req.getSession(); switch (method){ case "login": String username = req.getParameter("username"); String password = req.getParameter("password"); Object object = accountService.login(username,password,type); if (object != null){ switch (type){ case "reader": Reader reader = (Reader) object; session.setAttribute("reader",reader); resp.sendRedirect(req.getContextPath()+"/reader/reader.jsp"); break; case "bookadmin":
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| case "return": List<ReturnBook> returnBookList = bookAdminService.findAllReturns(); ReturnBookVO returnBookVO = new ReturnBookVO(); count = bookAdminService.findReturnCount(); returnBookVO.setCode(0); returnBookVO.setCount(count); returnBookVO.setMsg(null); returnBookVO.setData(returnBookList); jsonObject = JSONObject.fromObject(returnBookVO); resp.getWriter().write(jsonObject.toString()); break; } break;
case "auditing": switch (type) { case "borrow": switch (attitude) { case "agree": borrowIdStr = req.getParameter("borrowId"); bookAdmin = (BookAdmin) session.getAttribute("bookAdmin"); borrow = readerService.findBorrowById(Integer.parseInt(borrowIdStr)); borrow.setBookAdmin(bookAdmin); borrow.setState(1); book = bookService.findBookById(borrow.getBook().getId()); book.setAbled(0); bookService.modifyBook(book); bookAdminService.modifyBorrow(borrow); resp.sendRedirect(req.getContextPath() + "/admin/borrow-manage.jsp"); break; case "disagree": borrowIdStr = req.getParameter("borrowId"); bookAdmin = (BookAdmin) session.getAttribute("bookAdmin"); borrow = readerService.findBorrowById(Integer.parseInt(borrowIdStr)); borrow.setBookAdmin(bookAdmin); borrow.setState(2); book = bookService.findBookById(borrow.getBook().getId()); book.setAbled(1); bookService.modifyBook(book); bookAdminService.modifyBorrow(borrow); resp.sendRedirect(req.getContextPath() + "/admin/borrow-manage.jsp"); break; } break; case "return": switch (attitude) {
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=221221112305102at
https://javayms.pages.dev?id=221221112305102at