——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
分为前台读者和后台管理
前台读者可以登录、图书查询、图书借阅、图书归还、修改自己的个人信息等
后台管理可以登陆、图书查询、图书管理、图书编辑、读者管理、读者编辑、图书的借阅与归还日志查看等

前台读者







后台管理员






技术框架
JavaBean MVC JSP SSM(Spring SpringMVC MyBatis) MySQL jQuery Bootstrap JavaScript CSS
基于javaweb的SSM图书借还管理系统(前台、后台)(java+jsp+ssm+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 47 48 49
| 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() throws ParseException { ArrayList<ReaderInfo> readers = readerInfoService.readerInfos(); ArrayList<ReaderInfo> readersDateFormat = new ArrayList<>(); for (ReaderInfo reader : readers) { Date birth = reader.getBirth(); String format = new SimpleDateFormat("yyyy-MM-dd").format(birth); ReaderInfoDate infoDate = new ReaderInfoDate(); BeanUtils.copyProperties(reader,infoDate); infoDate.setBirthday(format); readersDateFormat.add(infoDate); }
ModelAndView modelAndView = new ModelAndView("admin_readers"); modelAndView.addObject("readers", readersDateFormat); 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");
ReaderInfoDate readerInfoDate = new ReaderInfoDate();
|
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
| 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() throws ParseException { ArrayList<ReaderInfo> readers = readerInfoService.readerInfos(); ArrayList<ReaderInfo> readersDateFormat = new ArrayList<>(); for (ReaderInfo reader : readers) { Date birth = reader.getBirth(); String format = new SimpleDateFormat("yyyy-MM-dd").format(birth); ReaderInfoDate infoDate = new ReaderInfoDate(); BeanUtils.copyProperties(reader,infoDate); infoDate.setBirthday(format); readersDateFormat.add(infoDate); }
ModelAndView modelAndView = new ModelAndView("admin_readers"); modelAndView.addObject("readers", readersDateFormat); 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", "删除失败!"); }
|
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 50 51
| 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"; } }
@RequestMapping("*") public String notFind() { return "404"; }
} package com.library.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
|
@Controller public 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)) { ArrayList<Book> books = 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<Book> books = bookService.queryBook(searchWord); ModelAndView modelAndView = new ModelAndView("reader_books"); modelAndView.addObject("books", books); return modelAndView; } else {
|
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
| 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"; }
@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); HashMap<String, String> res = 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"); }
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=451621131610103ah
https://javayms.pages.dev?id=451621131610103ah