Java 实战项目锤炼之网上图书馆管理系统的实现流程
更新时间:2021年11月11日 16:43:33 作者:qq_1334611189
读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用Java+jsp+servlet+mysql+ajax实现一个网上图书馆管理系统,大家可以在过程中查缺补漏,提升水平
一、项目简述
功能: 区分为管理员用户和普通用户,普通用户:用户登录,个 人信息修改,图书查询,用户借阅,用户归还,管理员用 户:图书馆里,归还管理,借阅信息查询,图书维护,分 类管理,读者管理等等功能。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP + Servlert + html+ css + JavaScript + JQuery + Ajax等等。
用户登陆模块代码:
用户登陆模块: @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"; } //负责处理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); 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"); } @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"; } }
静态资源和拦截器配置代码:
静态资源和拦截器配置: @Configuration @EnableWebMvc @ComponentScan("com.library.controller") public class WebConfig extends WebMvcConfigurerAdapter { @Bean public ViewResolver viewResolver() { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setSuffix(".jsp"); return resolver; } @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/img/**") .addResourceLocations("/static/img/"); registry.addResourceHandler("/js/**").addResourceLocations("/static/js/"); registry.addResourceHandler("/css/**").addResourceLocations("/static/css/"); } }
以上就是Java 实战项目锤炼之网上图书馆管理系统的实现流程的详细内容,更多关于Java 图书馆管理系统的资料请关注脚本之家其它相关文章!
相关文章
spring-data-jpa使用自定义repository来实现原生sql
这篇文章主要介绍了在spring-data-jpa中使用自定义repository来实现原生sql,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-11-11详解在Spring3中使用注解(@Scheduled)创建计划任务
本篇文章主要介绍了详解在Spring3中使用注解(@Scheduled)创建计划任务,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。2017-03-03
最新评论