基于javaweb+mysql的jsp+servlet图书借阅管理系统(前台、后台)(java+jsp+servlet+javabean+mysql+tomcat)

基于javaweb+mysql的jsp+servlet图书借阅管理系统(前台、后台)(java+jsp+servlet+javabean+mysql+tomcat)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

前台:登录、查看图书列表、借书、还书、导出借书信息

后台:图书管理、借阅审核、还书审核、用户管理、图书类别管理、借书数据统计图、导出图书信息

前台

后台:

技术框架

JSP Servlet MySQL JDBC Tomcat CSS JavaScript

基于javaweb+mysql的JSP+Servlet图书借阅管理系统(前台、后台)(java+jsp+servlet+javabean+mysql+tomcat)


/**
 * @Description:读者操作功能类
 * @Param:
 * @return:
 */
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();
                                //拒绝归还
                                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");
                                    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":
                //借阅和归还的审核操作
                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) {
                                //同意归还
                                case "agree":
                                    returnIdStr = req.getParameter("returnId");
                                    bookAdmin = (BookAdmin) session.getAttribute("bookAdmin");
                                    ReturnBook returnBook = bookAdminService.findReturnById(Integer.parseInt(returnIdStr));
                                    returnBook.setBookAdmin(bookAdmin);
                                    returnBook.setReturntime(DateUtils.dateToString(new Date()));
                                    returnBook.setState(3);
                                    bookAdminService.modifyReturn(returnBook);
                                    int bookId = returnBook.getBook().getId();
                                    book = bookService.findBookById(bookId);
                                    book.setAbled(1);
                                    bookService.modifyBook(book);
                readerService.modifyReader(reader);
                resp.sendRedirect(req.getContextPath()+"/reader/reader-list.jsp");
                break;
            //删除读者信息
            case "delete":
                Constants.readerId = req.getParameter("readerId");
                readerService.removeReaderById(Integer.parseInt(Constants.readerId));
                resp.sendRedirect(req.getContextPath()+"/reader/reader-list.jsp");
                break;
            //添加读者信息
            case "add":
                Constants.readerName = req.getParameter("name");
                Constants.username = req.getParameter("username");
                Constants.tel = req.getParameter("tel");
                Constants.cardId = req.getParameter("cardid");
                Constants.password = req.getParameter("password");
                Constants.gender = req.getParameter("gender");
                reader = new Reader(Constants.readerName, Constants.username, Constants.cardId, Constants.tel, Constants.password, Constants.gender);
                readerService.addReader(reader);
                resp.sendRedirect(req.getContextPath()+"/reader/reader-list.jsp");
                break;
            //读者借阅图书操作
            case "borrow":
                bookIdStr = req.getParameter("bookId");
                Book book = bookService.findBookById(Integer.parseInt(bookIdStr));
                reader = (Reader) session.getAttribute("reader");
                Borrow borrow = new Borrow();
                borrow.setReader(reader);
                borrow.setBook(book);
                borrow.setBookAdmin(null);
                Date date = new Date();
                borrow.setBorrowtime(DateUtils.dateToString(date));
                borrow.setReturntime(null);
                borrow.setState(0);
                readerService.addBorrow(borrow);
                resp.sendRedirect(req.getContextPath()+"/reader/reader.jsp");
                break;
            //读者归还图书操作
            case "return":
                borrowId = req.getParameter("borrowId");
                borrow = readerService.findBorrowById(Integer.parseInt(borrowId));
                borrow.setState(4);
                bookAdminService.modifyBorrow(borrow);
                reader = (Reader) session.getAttribute("reader");
                ReturnBook returnBook = new ReturnBook();
                returnBook.setBook(borrow.getBook());
                returnBook.setReader(reader);
                Date returnDate = new Date();
                returnBook.setReturntime(DateUtils.dateToString(returnDate));
                returnBook.setBookAdmin(null);
                returnBook.setState(4);
                bookAdminService.addReturnBook(returnBook);
                resp.sendRedirect(req.getContextPath()+"/reader/reader.jsp");
                break;
            pageStr = req.getParameter("page");
            String limitStr = req.getParameter("limit");
            List<Book> bookList = bookService.findAllBooks(Integer.valueOf(pageStr),Integer.valueOf(limitStr));
            BookVO bookVO = new BookVO();
            bookVO.setCode(0);
            bookVO.setMsg(null);
            bookVO.setCount(bookService.findBookCount());
            bookVO.setData(bookList);
            JSONObject jsonObject = JSONObject.fromObject(bookVO);
            System.out.println("jsonObject.toString():"+jsonObject.toString());

            resp.getWriter().write(jsonObject.toString());
        } else {
            switch (method) {
                //编辑图书
                case "preEdit":
                    bookIdStr = req.getParameter("bookId");
                    book = bookService.findBookById(Integer.valueOf(bookIdStr));
                    req.setAttribute("book",book);
                    bookCaseList = bookAdminService.findAllBookCase();
                    req.setAttribute("bookCaseList",bookCaseList);
                    req.getRequestDispatcher("/book/book-edit.jsp").forward(req,resp);
                    break;
                case "edit":
                    bookIdStr = req.getParameter("id");
                    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.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;
                borrow.setBook(book);
                borrow.setBookAdmin(null);
                Date date = new Date();
                borrow.setBorrowtime(DateUtils.dateToString(date));
                borrow.setReturntime(null);
                borrow.setState(0);
                readerService.addBorrow(borrow);
                resp.sendRedirect(req.getContextPath()+"/reader/reader.jsp");
                break;
            //读者归还图书操作
            case "return":
                borrowId = req.getParameter("borrowId");
                borrow = readerService.findBorrowById(Integer.parseInt(borrowId));
                borrow.setState(4);
                bookAdminService.modifyBorrow(borrow);
                reader = (Reader) session.getAttribute("reader");
                ReturnBook returnBook = new ReturnBook();
                returnBook.setBook(borrow.getBook());
                returnBook.setReader(reader);
                Date returnDate = new Date();
                returnBook.setReturntime(DateUtils.dateToString(returnDate));
                returnBook.setBookAdmin(null);
                returnBook.setState(4);
                bookAdminService.addReturnBook(returnBook);
                resp.sendRedirect(req.getContextPath()+"/reader/reader.jsp");
                break;
        }

    }
}

            bookVO.setData(bookList);
            JSONObject jsonObject = JSONObject.fromObject(bookVO);
            System.out.println("jsonObject.toString():"+jsonObject.toString());

            resp.getWriter().write(jsonObject.toString());
        } else {
            switch (method) {
                //编辑图书
                case "preEdit":
                    bookIdStr = req.getParameter("bookId");
                    book = bookService.findBookById(Integer.valueOf(bookIdStr));
                    req.setAttribute("book",book);
                    bookCaseList = bookAdminService.findAllBookCase();
                    req.setAttribute("bookCaseList",bookCaseList);
                    req.getRequestDispatcher("/book/book-edit.jsp").forward(req,resp);
                    break;
                case "edit":
                    bookIdStr = req.getParameter("id");
                    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.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");
                            String pageStr = req.getParameter("page");
                            String limitStr = req.getParameter("limit");
                            List<BookCase> bookCaseList = bookAdminService.findAllBookCaseByPage(Integer.parseInt(pageStr), Integer.parseInt(limitStr));
                            int count = bookAdminService.findAllCount();
                            BookCaseVO bookCaseVO = new BookCaseVO();
                            bookCaseVO.setCode(0);
                            bookCaseVO.setMsg(null);
                            bookCaseVO.setCount(count);
                            bookCaseVO.setData(bookCaseList);
                            jsonObject = JSONObject.fromObject(bookCaseVO);
                            resp.getWriter().write(jsonObject.toString());
                            break;
                        case "add":
                            bookCaseName = req.getParameter("name");
                            bookCase = new BookCase();
                            bookCase.setName(bookCaseName);
                            bookAdminService.addBookCase(bookCase);
                            resp.sendRedirect(req.getContextPath() + "/admin/bookcase-list.jsp");
                            break;
                        case "preEdit":
                            bookCaseIdStr = req.getParameter("bookCaseId");
                            bookCase = bookAdminService.findBookCaseById(Integer.parseInt(bookCaseIdStr));
                            req.setAttribute("bookCase", bookCase);
                            req.getRequestDispatcher("/admin/bookcase-edit.jsp").forward(req, resp);
                            break;
                        case "edit":
                            bookCaseIdStr = req.getParameter("id");
                            bookCaseName = req.getParameter("name");
                            bookCase = bookAdminService.findBookCaseById(Integer.parseInt(bookCaseIdStr));
                            bookCase.setName(bookCaseName);
                            bookAdminService.modifyBookCase(bookCase);
                            resp.sendRedirect(req.getContextPath() + "/admin/bookcase-list.jsp");
                            break;
                        case "delete":
                            bookCaseIdStr = req.getParameter("bookCaseId");
                            bookAdminService.removeBookCaseById(Integer.parseInt(bookCaseIdStr));
                            resp.sendRedirect(req.getContextPath() + "/admin/bookcase-list.jsp");
                            break;
                    }
                    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;
                        //导出图书借阅量数据
                        case "reader":
                            Reader reader = (Reader) session.getAttribute("reader");
                            hssfWorkbook = readerService.findReadersRecords(reader.getId());
                            resp.setContentType("application/x-msdownload");
                            fileName = "图书借阅信息表";
                            fileName = URLEncoder.encode(fileName, "UTF-8");

                            //Content-Disposition 的作用
                            //当Content-Type 的类型为要下载的类型时 , 这个信息头会告诉浏览器这个文件的名字和类型。
                            resp.setHeader("Content-Disposition", "attachment;filename*=utf-8'zh_cn'" + fileName + suffix);
                            outputStream = resp.getOutputStream();
                            hssfWorkbook.write(outputStream);
                            outputStream.close();
                            break;
                    }
                case "bookCase":
                    switch (type) {
                        case "find":
                            String pageStr = req.getParameter("page");
                            String limitStr = req.getParameter("limit");
                            List<BookCase> bookCaseList = bookAdminService.findAllBookCaseByPage(Integer.parseInt(pageStr), Integer.parseInt(limitStr));
                            int count = bookAdminService.findAllCount();
                            BookCaseVO bookCaseVO = new BookCaseVO();
                            bookCaseVO.setCode(0);
                            bookCaseVO.setMsg(null);
                            bookCaseVO.setCount(count);
                    bookIdStr = req.getParameter("bookId");
                    book = bookService.findBookById(Integer.valueOf(bookIdStr));
                    req.setAttribute("book",book);
                    bookCaseList = bookAdminService.findAllBookCase();
                    req.setAttribute("bookCaseList",bookCaseList);
                    req.getRequestDispatcher("/book/book-edit.jsp").forward(req,resp);
                    break;
                case "edit":
                    bookIdStr = req.getParameter("id");
                    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.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");
                                    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;
                        //导出图书借阅量数据
                            int count = readerService.findBorrowsNum();
                            BorrowVO borrowVO = new BorrowVO();
                            borrowVO.setData(borrowList);
                            borrowVO.setCount(count);
                            borrowVO.setCode(0);
                            borrowVO.setMsg(null);
                            jsonObject = JSONObject.fromObject(borrowVO);
                            resp.getWriter().write(jsonObject.toString());
                            break;
                        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");
                                    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");
                                    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;
                        //显示成柱状图
                            bookCaseVO.setMsg(null);
                            bookCaseVO.setCount(count);
                            bookCaseVO.setData(bookCaseList);
                            jsonObject = JSONObject.fromObject(bookCaseVO);
                            resp.getWriter().write(jsonObject.toString());
                            break;
                        case "add":
                            bookCaseName = req.getParameter("name");
                            bookCase = new BookCase();
                            bookCase.setName(bookCaseName);
                            bookAdminService.addBookCase(bookCase);
                            resp.sendRedirect(req.getContextPath() + "/admin/bookcase-list.jsp");
                            break;
                        case "preEdit":
                            bookCaseIdStr = req.getParameter("bookCaseId");
                            bookCase = bookAdminService.findBookCaseById(Integer.parseInt(bookCaseIdStr));
                            req.setAttribute("bookCase", bookCase);
                            req.getRequestDispatcher("/admin/bookcase-edit.jsp").forward(req, resp);
                            break;
                        case "edit":
                            bookCaseIdStr = req.getParameter("id");
                            bookCaseName = req.getParameter("name");
                            bookCase = bookAdminService.findBookCaseById(Integer.parseInt(bookCaseIdStr));
                            bookCase.setName(bookCaseName);
                            bookAdminService.modifyBookCase(bookCase);
                            resp.sendRedirect(req.getContextPath() + "/admin/bookcase-list.jsp");
                            break;
                        case "delete":
                            bookCaseIdStr = req.getParameter("bookCaseId");
                            bookAdminService.removeBookCaseById(Integer.parseInt(bookCaseIdStr));
                            resp.sendRedirect(req.getContextPath() + "/admin/bookcase-list.jsp");
                            break;
                    }
                    break;
            }
        }
    }
}

                readerVO.setCode(0);
                readerVO.setCount(count);
                readerVO.setData(readerList);
                readerVO.setMsg(null);
                JSONObject jsonObject = JSONObject.fromObject(readerVO);
                resp.getWriter().write(jsonObject.toString());
                break;
            //编辑读者信息
            case "preEdit":
                Constants.readerId = req.getParameter("readerId");
                reader = readerService.findReaderById(Integer.parseInt(Constants.readerId));
                req.setAttribute("reader", reader);
                req.getRequestDispatcher("/reader/reader-edit.jsp").forward(req, resp);
                break;
            case "edit":
                Constants.readerId = req.getParameter("id");
                Constants.readerName = req.getParameter("name");
                Constants.username = req.getParameter("username");
                Constants.password = req.getParameter("password");
                Constants.tel = req.getParameter("tel");
                Constants.cardId = req.getParameter("cardid");
                Constants.gender = req.getParameter("gender");
                reader = new Reader(Integer.parseInt(Constants.readerId), Constants.readerName, Constants.username, Constants.cardId, Constants.tel, Constants.password, Constants.gender);
                readerService.modifyReader(reader);
                resp.sendRedirect(req.getContextPath()+"/reader/reader-list.jsp");
                break;
            //删除读者信息
            case "delete":
                Constants.readerId = req.getParameter("readerId");
                readerService.removeReaderById(Integer.parseInt(Constants.readerId));
                resp.sendRedirect(req.getContextPath()+"/reader/reader-list.jsp");
                break;
            //添加读者信息
            case "add":
                Constants.readerName = req.getParameter("name");
                Constants.username = req.getParameter("username");
                Constants.tel = req.getParameter("tel");
                Constants.cardId = req.getParameter("cardid");
                Constants.password = req.getParameter("password");
                Constants.gender = req.getParameter("gender");
                reader = new Reader(Constants.readerName, Constants.username, Constants.cardId, Constants.tel, Constants.password, Constants.gender);
                readerService.addReader(reader);
                resp.sendRedirect(req.getContextPath()+"/reader/reader-list.jsp");
                break;
            //读者借阅图书操作
            case "borrow":
                bookIdStr = req.getParameter("bookId");
                Book book = bookService.findBookById(Integer.parseInt(bookIdStr));
            resp.setCharacterEncoding("utf-8");
            pageStr = req.getParameter("page");
            String limitStr = req.getParameter("limit");
            List<Book> bookList = bookService.findAllBooks(Integer.valueOf(pageStr),Integer.valueOf(limitStr));
            BookVO bookVO = new BookVO();
            bookVO.setCode(0);
            bookVO.setMsg(null);
            bookVO.setCount(bookService.findBookCount());
            bookVO.setData(bookList);
            JSONObject jsonObject = JSONObject.fromObject(bookVO);
            System.out.println("jsonObject.toString():"+jsonObject.toString());

            resp.getWriter().write(jsonObject.toString());
        } else {
            switch (method) {
                //编辑图书
                case "preEdit":
                    bookIdStr = req.getParameter("bookId");
                    book = bookService.findBookById(Integer.valueOf(bookIdStr));
                    req.setAttribute("book",book);
                    bookCaseList = bookAdminService.findAllBookCase();
                    req.setAttribute("bookCaseList",bookCaseList);
                    req.getRequestDispatcher("/book/book-edit.jsp").forward(req,resp);
                    break;
                case "edit":
                    bookIdStr = req.getParameter("id");
                    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.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":
                resp.sendRedirect(req.getContextPath()+"/reader/reader-list.jsp");
                break;
            //添加读者信息
            case "add":
                Constants.readerName = req.getParameter("name");
                Constants.username = req.getParameter("username");
                Constants.tel = req.getParameter("tel");
                Constants.cardId = req.getParameter("cardid");
                Constants.password = req.getParameter("password");
                Constants.gender = req.getParameter("gender");
                reader = new Reader(Constants.readerName, Constants.username, Constants.cardId, Constants.tel, Constants.password, Constants.gender);
                readerService.addReader(reader);
                resp.sendRedirect(req.getContextPath()+"/reader/reader-list.jsp");
                break;
            //读者借阅图书操作
            case "borrow":
                bookIdStr = req.getParameter("bookId");
                Book book = bookService.findBookById(Integer.parseInt(bookIdStr));
                reader = (Reader) session.getAttribute("reader");
                Borrow borrow = new Borrow();
                borrow.setReader(reader);
                borrow.setBook(book);
                borrow.setBookAdmin(null);
                Date date = new Date();
                borrow.setBorrowtime(DateUtils.dateToString(date));
                borrow.setReturntime(null);
                borrow.setState(0);
                readerService.addBorrow(borrow);
                resp.sendRedirect(req.getContextPath()+"/reader/reader.jsp");
                break;
            //读者归还图书操作
            case "return":
                borrowId = req.getParameter("borrowId");
                borrow = readerService.findBorrowById(Integer.parseInt(borrowId));
                borrow.setState(4);
                bookAdminService.modifyBorrow(borrow);
                reader = (Reader) session.getAttribute("reader");
                ReturnBook returnBook = new ReturnBook();
                returnBook.setBook(borrow.getBook());
                returnBook.setReader(reader);
                Date returnDate = new Date();
                returnBook.setReturntime(DateUtils.dateToString(returnDate));
                returnBook.setBookAdmin(null);
                returnBook.setState(4);

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值