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安全错误
数据库的锁怎样保障安全
土海交通大学网络安全专业
思怡网络技术服务有限公司
数学数据库sql
计算机网络技术专业年薪
公安局网络安全整改
ip网络技术与应用可以干什么
文字是不是数据库
四川有哪些软件开发专业
阿里云服务器换配置要备案吗
网络安全密钥是什么鬼
深圳移动软件开发服务费
遗传学数据库统计处理
拼车软件开发源码
中兴服务器磁盘无法格式化
重制版我的世界服务器
数据库1033
国内当前软件开发行业前景
怀旧服服务器法师升级
x86架构的国产服务器
服务器管理器的角色配置
自己组装服务器如何接外网
怎么创建sde数据库
潍坊教育局网络安全培训机构
c 服务器培训
浙江统一软件开发价格检测中心
wow弗服务器
雷石阿尔法服务器
软件开发unittest
中国科学院数据库
软件开发者怎么查