——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明




基于javaweb的SSM图书管理系统(java+ssm+jsp+mysql)
一、项目简述
功能包括(管理员和学生角色): 管理员和学生登录,图书管理,图书添加删除修改,图书 借阅,图书归还,图书查看,学生管理,借还管理,读者 管理,密码管理,信息修改等等功能。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui等等。
——————————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
| @Controller public 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"; }
@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");
|
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
| @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() 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"));
|
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
| return new ModelAndView("reader_header"); }
@RequestMapping("/reader_books.html") public ModelAndView readerBooks(HttpServletRequest request) { ArrayList<Book> books = bookService.getAllBooks(); ReaderCard readerCard = (ReaderCard) request.getSession().getAttribute("readercard"); ArrayList<Lend> myAllLendList = lendService.myLendList(readerCard.getReaderId()); ArrayList<Long> 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; } } package com.library.controller;
@Controller public 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();
|
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
| modelAndView.addObject("books", books); modelAndView.addObject("myLendList", myLendList); return modelAndView; } } package com.library.controller;
@Controller public 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) {
|
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
| 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
|
@Controller public 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")
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=431422272105200bm
https://javayms.pages.dev?id=431422272105200bm