Java怎么实现图书管理系统
发表于:2024-12-04 作者:千家信息网编辑
千家信息网最后更新 2024年12月04日,本篇内容主要讲解"Java怎么实现图书管理系统",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java怎么实现图书管理系统"吧!一、项目简述功能包括(管理员
千家信息网最后更新 2024年12月04日Java怎么实现图书管理系统
本篇内容主要讲解"Java怎么实现图书管理系统",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java怎么实现图书管理系统"吧!
一、项目简述
功能包括(管理员和学生角色): 管理员和学生登录,图书管理,图书添加删除修改,图书 借阅,图书归还,图书查看,学生管理,借还管理,读者 管理,密码管理,信息修改等等功能。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。
读者信息控制器:
@Controllerpublic class ReaderController { @Autowired private ReaderInfoService readerInfoService; @Autowired private LoginService loginService; @Autowired private ReaderCardService readerCardService; private ReaderInfo getReaderInfo(long readerId, String name, String sex, String birth, String address, String phone) { ReaderInfo readerInfo = new ReaderInfo(); Date date = new Date(); try { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); date = df.parse(birth); } catch (ParseException e) { e.printStackTrace(); } readerInfo.setAddress(address); readerInfo.setName(name); readerInfo.setReaderId(readerId); readerInfo.setPhone(phone); readerInfo.setSex(sex); readerInfo.setBirth(date); return readerInfo; } @RequestMapping("allreaders.html") public ModelAndView allBooks() { ArrayListreaders = readerInfoService.readerInfos(); ModelAndView modelAndView = new ModelAndView("admin_readers"); modelAndView.addObject("readers", readers); return modelAndView; } @RequestMapping("reader_delete.html") public String readerDelete(HttpServletRequest request, RedirectAttributes redirectAttributes) { long readerId = Long.parseLong(request.getParameter("readerId")); if (readerInfoService.deleteReaderInfo(readerId) && readerCardService.deleteReaderCard(readerId)) { redirectAttributes.addFlashAttribute("succ", "删除成功!"); } else { redirectAttributes.addFlashAttribute("error", "删除失败!"); } return "redirect:/allreaders.html"; } @RequestMapping("/reader_info.html") public ModelAndView toReaderInfo(HttpServletRequest request) { ReaderCard readerCard = (ReaderCard) request.getSession().getAttribute("readercard"); ReaderInfo readerInfo = readerInfoService.getReaderInfo(readerCard.getReaderId()); ModelAndView modelAndView = new ModelAndView("reader_info"); modelAndView.addObject("readerinfo", readerInfo); return modelAndView; } @RequestMapping("reader_edit.html") public ModelAndView readerInfoEdit(HttpServletRequest request) { long readerId = Long.parseLong(request.getParameter("readerId")); ReaderInfo readerInfo = readerInfoService.getReaderInfo(readerId); ModelAndView modelAndView = new ModelAndView("admin_reader_edit"); modelAndView.addObject("readerInfo", readerInfo); return modelAndView; } @RequestMapping("reader_edit_do.html") public String readerInfoEditDo(HttpServletRequest request, String name, String sex, String birth, String address, String phone, RedirectAttributes redirectAttributes) { long readerId = Long.parseLong(request.getParameter("readerId")); ReaderInfo readerInfo = getReaderInfo(readerId, name, sex, birth, address, phone); if (readerInfoService.editReaderInfo(readerInfo) && readerInfoService.editReaderCard(readerInfo)) { redirectAttributes.addFlashAttribute("succ", "读者信息修改成功!"); } else { redirectAttributes.addFlashAttribute("error", "读者信息修改失败!"); } return "redirect:/allreaders.html"; } @RequestMapping("reader_add.html") public ModelAndView readerInfoAdd() { return new ModelAndView("admin_reader_add"); } @RequestMapping("reader_add_do.html") public String readerInfoAddDo(String name, String sex, String birth, String address, String phone, String password, RedirectAttributes redirectAttributes) { ReaderInfo readerInfo = getReaderInfo(0, name, sex, birth, address, phone); long readerId = readerInfoService.addReaderInfo(readerInfo); readerInfo.setReaderId(readerId); if (readerId > 0 && readerCardService.addReaderCard(readerInfo, password)) { redirectAttributes.addFlashAttribute("succ", "添加读者信息成功!"); } else { redirectAttributes.addFlashAttribute("succ", "添加读者信息失败!"); } return "redirect:/allreaders.html"; } @RequestMapping("reader_info_edit.html") public ModelAndView readerInfoEditReader(HttpServletRequest request) { ReaderCard readerCard = (ReaderCard) request.getSession().getAttribute("readercard"); ReaderInfo readerInfo = readerInfoService.getReaderInfo(readerCard.getReaderId()); ModelAndView modelAndView = new ModelAndView("reader_info_edit"); modelAndView.addObject("readerinfo", readerInfo); return modelAndView; } @RequestMapping("reader_edit_do_r.html") public String readerInfoEditDoReader(HttpServletRequest request, String name, String sex, String birth, String address, String phone, RedirectAttributes redirectAttributes) { ReaderCard readerCard = (ReaderCard) request.getSession().getAttribute("readercard"); ReaderInfo readerInfo = getReaderInfo(readerCard.getReaderId(), name, sex, birth, address, phone); if (readerInfoService.editReaderInfo(readerInfo) && readerInfoService.editReaderCard(readerInfo)) { ReaderCard readerCardNew = loginService.findReaderCardByReaderId(readerCard.getReaderId()); request.getSession().setAttribute("readercard", readerCardNew); redirectAttributes.addFlashAttribute("succ", "信息修改成功!"); } else { redirectAttributes.addFlashAttribute("error", "信息修改失败!"); } return "redirect:/reader_info.html"; }}
登陆控制层:
@Controllerpublic class LoginController { private LoginService loginService; @Autowired public void setLoginService(LoginService loginService) { this.loginService = loginService; } @RequestMapping(value = {"/", "/login.html"}) public String toLogin(HttpServletRequest request) { request.getSession().invalidate(); return "index"; } @RequestMapping("/logout.html") public String logout(HttpServletRequest request) { request.getSession().invalidate(); return "redirect:/login.html"; } //负责处理loginCheck.html请求 //请求参数会根据参数名称默认契约自动绑定到相应方法的入参中 @RequestMapping(value = "/api/loginCheck", method = RequestMethod.POST) public @ResponseBody Object loginCheck(HttpServletRequest request) { long id = Long.parseLong(request.getParameter("id")); String passwd = request.getParameter("passwd"); boolean isReader = loginService.hasMatchReader(id, passwd); boolean isAdmin = loginService.hasMatchAdmin(id, passwd); HashMapres = new HashMap<>(); if (isAdmin) { Admin admin = new Admin(); admin.setAdminId(id); admin.setPassword(passwd); String username = loginService.getAdminUsername(id); admin.setUsername(username); request.getSession().setAttribute("admin", admin); res.put("stateCode", "1"); res.put("msg", "管理员登陆成功!"); } else if (isReader) { ReaderCard readerCard = loginService.findReaderCardByReaderId(id); request.getSession().setAttribute("readercard", readerCard); res.put("stateCode", "2"); res.put("msg", "读者登陆成功!"); } else { res.put("stateCode", "0"); res.put("msg", "账号或密码错误!"); } return res; } @RequestMapping("/admin_main.html") public ModelAndView toAdminMain(HttpServletResponse response) { return new ModelAndView("admin_main"); } @RequestMapping("/reader_main.html") public ModelAndView toReaderMain(HttpServletResponse response) { return new ModelAndView("reader_main"); } @RequestMapping("/admin_repasswd.html") public ModelAndView reAdminPasswd() { return new ModelAndView("admin_repasswd"); } @RequestMapping("/admin_repasswd_do") public String reAdminPasswdDo(HttpServletRequest request, String oldPasswd, String newPasswd, String reNewPasswd, RedirectAttributes redirectAttributes) { Admin admin = (Admin) request.getSession().getAttribute("admin"); long id = admin.getAdminId(); String password = loginService.getAdminPassword(id); if (password.equals(oldPasswd)) { if (loginService.adminRePassword(id, newPasswd)) { redirectAttributes.addFlashAttribute("succ", "密码修改成功!"); return "redirect:/admin_repasswd.html"; } else { redirectAttributes.addFlashAttribute("error", "密码修改失败!"); return "redirect:/admin_repasswd.html"; } } else { redirectAttributes.addFlashAttribute("error", "旧密码错误!"); return "redirect:/admin_repasswd.html"; } } @RequestMapping("/reader_repasswd.html") public ModelAndView reReaderPasswd() { return new ModelAndView("reader_repasswd"); } @RequestMapping("/reader_repasswd_do") public String reReaderPasswdDo(HttpServletRequest request, String oldPasswd, String newPasswd, String reNewPasswd, RedirectAttributes redirectAttributes) { ReaderCard reader = (ReaderCard) request.getSession().getAttribute("readercard"); long id = reader.getReaderId(); String password = loginService.getReaderPassword(id); if (password.equals(oldPasswd)) { if (loginService.readerRePassword(id, newPasswd)) { redirectAttributes.addFlashAttribute("succ", "密码修改成功!"); return "redirect:/reader_repasswd.html"; } else { redirectAttributes.addFlashAttribute("error", "密码修改失败!"); return "redirect:/reader_repasswd.html"; } } else { redirectAttributes.addFlashAttribute("error", "旧密码错误!"); return "redirect:/reader_repasswd.html"; } } //配置404页面 @RequestMapping("*") public String notFind() { return "404"; } }
图书控制层:
@Controllerpublic class BookController { @Autowired private BookService bookService; @Autowired private LendService lendService; private Date getDate(String pubstr) { try { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); return df.parse(pubstr); } catch (ParseException e) { e.printStackTrace(); return new Date(); } } @RequestMapping("/queryBook.html") public ModelAndView queryBookDo(String searchWord) { if (bookService.matchBook(searchWord)) { ArrayListbooks = bookService.queryBook(searchWord); ModelAndView modelAndView = new ModelAndView("admin_books"); modelAndView.addObject("books", books); return modelAndView; } else { return new ModelAndView("admin_books", "error", "没有匹配的图书"); } } @RequestMapping("/reader_querybook_do.html") public ModelAndView readerQueryBookDo(String searchWord) { if (bookService.matchBook(searchWord)) { ArrayList books = bookService.queryBook(searchWord); ModelAndView modelAndView = new ModelAndView("reader_books"); modelAndView.addObject("books", books); return modelAndView; } else { return new ModelAndView("reader_books", "error", "没有匹配的图书"); } } @RequestMapping("/admin_books.html") public ModelAndView adminBooks() { ArrayList books = bookService.getAllBooks(); ModelAndView modelAndView = new ModelAndView("admin_books"); modelAndView.addObject("books", books); return modelAndView; } @RequestMapping("/book_add.html") public ModelAndView addBook() { return new ModelAndView("admin_book_add"); } @RequestMapping("/book_add_do.html") public String addBookDo(@RequestParam(value = "pubstr") String pubstr, Book book, RedirectAttributes redirectAttributes) { book.setPubdate(getDate(pubstr)); if (bookService.addBook(book)) { redirectAttributes.addFlashAttribute("succ", "图书添加成功!"); } else { redirectAttributes.addFlashAttribute("succ", "图书添加失败!"); } return "redirect:/admin_books.html"; } @RequestMapping("/updatebook.html") public ModelAndView bookEdit(HttpServletRequest request) { long bookId = Long.parseLong(request.getParameter("bookId")); Book book = bookService.getBook(bookId); ModelAndView modelAndView = new ModelAndView("admin_book_edit"); modelAndView.addObject("detail", book); return modelAndView; } @RequestMapping("/book_edit_do.html") public String bookEditDo(@RequestParam(value = "pubstr") String pubstr, Book book, RedirectAttributes redirectAttributes) { book.setPubdate(getDate(pubstr)); if (bookService.editBook(book)) { redirectAttributes.addFlashAttribute("succ", "图书修改成功!"); } else { redirectAttributes.addFlashAttribute("error", "图书修改失败!"); } return "redirect:/admin_books.html"; } @RequestMapping("/admin_book_detail.html") public ModelAndView adminBookDetail(HttpServletRequest request) { long bookId = Long.parseLong(request.getParameter("bookId")); Book book = bookService.getBook(bookId); ModelAndView modelAndView = new ModelAndView("admin_book_detail"); modelAndView.addObject("detail", book); return modelAndView; } @RequestMapping("/reader_book_detail.html") public ModelAndView readerBookDetail(HttpServletRequest request) { long bookId = Long.parseLong(request.getParameter("bookId")); Book book = bookService.getBook(bookId); ModelAndView modelAndView = new ModelAndView("reader_book_detail"); modelAndView.addObject("detail", book); return modelAndView; } @RequestMapping("/admin_header.html") public ModelAndView admin_header() { return new ModelAndView("admin_header"); } @RequestMapping("/reader_header.html") public ModelAndView reader_header() { return new ModelAndView("reader_header"); } @RequestMapping("/reader_books.html") public ModelAndView readerBooks(HttpServletRequest request) { ArrayList books = bookService.getAllBooks(); ReaderCard readerCard = (ReaderCard) request.getSession().getAttribute("readercard"); ArrayList myAllLendList = lendService.myLendList(readerCard.getReaderId()); ArrayList myLendList = new ArrayList<>(); for (Lend lend : myAllLendList) { // 是否已归还 if (lend.getBackDate() == null) { myLendList.add(lend.getBookId()); } } ModelAndView modelAndView = new ModelAndView("reader_books"); modelAndView.addObject("books", books); modelAndView.addObject("myLendList", myLendList); return modelAndView; }}
借书控制层:
@Controllerpublic class LendController { @Autowired private LendService lendService; @Autowired private BookService bookService; @RequestMapping("/deletebook.html") public String deleteBook(HttpServletRequest request, RedirectAttributes redirectAttributes) { long bookId = Long.parseLong(request.getParameter("bookId")); if (bookService.deleteBook(bookId)) { redirectAttributes.addFlashAttribute("succ", "图书删除成功!"); } else { redirectAttributes.addFlashAttribute("error", "图书删除失败!"); } return "redirect:/admin_books.html"; } @RequestMapping("/lendlist.html") public ModelAndView lendList(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("admin_lend_list"); modelAndView.addObject("list", lendService.lendList()); return modelAndView; } @RequestMapping("/mylend.html") public ModelAndView myLend(HttpServletRequest request) { ReaderCard readerCard = (ReaderCard) request.getSession().getAttribute("readercard"); ModelAndView modelAndView = new ModelAndView("reader_lend_list"); modelAndView.addObject("list", lendService.myLendList(readerCard.getReaderId())); return modelAndView; } @RequestMapping("/deletelend.html") public String deleteLend(HttpServletRequest request, RedirectAttributes redirectAttributes) { long serNum = Long.parseLong(request.getParameter("serNum")); if (lendService.deleteLend(serNum) > 0) { redirectAttributes.addFlashAttribute("succ", "记录删除成功!"); } else { redirectAttributes.addFlashAttribute("error", "记录删除失败!"); } return "redirect:/lendlist.html"; } @RequestMapping("/lendbook.html") public String bookLend(HttpServletRequest request, RedirectAttributes redirectAttributes) { long bookId = Long.parseLong(request.getParameter("bookId")); long readerId = ((ReaderCard) request.getSession().getAttribute("readercard")).getReaderId(); if (lendService.lendBook(bookId, readerId)) { redirectAttributes.addFlashAttribute("succ", "图书借阅成功!"); } else { redirectAttributes.addFlashAttribute("succ", "图书借阅成功!"); } return "redirect:/reader_books.html"; } @RequestMapping("/returnbook.html") public String bookReturn(HttpServletRequest request, RedirectAttributes redirectAttributes) { long bookId = Long.parseLong(request.getParameter("bookId")); long readerId = ((ReaderCard) request.getSession().getAttribute("readercard")).getReaderId(); if (lendService.returnBook(bookId, readerId)) { redirectAttributes.addFlashAttribute("succ", "图书归还成功!"); } else { redirectAttributes.addFlashAttribute("error", "图书归还失败!"); } return "redirect:/reader_books.html"; }}
到此,相信大家对"Java怎么实现图书管理系统"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
图书
成功
管理
信息
密码
读者
控制
管理系统
系统
学生
管理员
错误
项目
借阅
登陆
内容
功能
参数
方法
学习
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
焦点访谈网络安全问题
通州区智能软件开发服务技术规范
互联网科技重镇
总服务器连接失败
最近同花顺老是连接服务器
北京中企欣软件开发
宜昌哪里有软件开发方案
京东后台数据库
计算机网络技术四级真题
网络安全去哪里就业好
欧洲的服务器名称
网络安全有什么含义
数据库具有较高的
软件开发行事历
网络文学数据库
计算机网络技术社会实践
工业互联网公司排名东土科技
数据库中使用较早的数据模型
中波调配网络技术指标
数据库的文件存储在
拨打电话响几声无法连接服务器
安徽电力应急软件开发服务标准
如何查询其他数据库的数据
计算机网络技术在实践应用
sql2008数据库压缩
人肉网络安全法
软件开发瀑布流程图
我的世界0.14服务器2021
暗黑三战队服务器断开连接
河南健康软件开发