Java 實戰(zhàn)項目錘煉之網(wǎng)上圖書館管理系統(tǒng)的實現(xiàn)流程
一、項目簡述
功能: 區(qū)分為管理員用戶和普通用戶,普通用戶:用戶登錄,個 人信息修改,圖書查詢,用戶借閱,用戶歸還,管理員用 戶:圖書館里,歸還管理,借閱信息查詢,圖書維護,分 類管理,讀者管理等等功能。
二、項目運行
環(huán)境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
項目技術(shù): 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請求 //請求參數(shù)會根據(jù)參數(shù)名稱默認契約自動綁定到相應(yīng)方法的入?yún)⒅? @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"; } }
靜態(tài)資源和攔截器配置代碼:
靜態(tài)資源和攔截器配置: @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 實戰(zhàn)項目錘煉之網(wǎng)上圖書館管理系統(tǒng)的實現(xiàn)流程的詳細內(nèi)容,更多關(guān)于Java 圖書館管理系統(tǒng)的資料請關(guān)注腳本之家其它相關(guān)文章!
- Java 實戰(zhàn)項目之精品養(yǎng)老院管理系統(tǒng)的實現(xiàn)流程
- Java 實戰(zhàn)項目之精美物流管理系統(tǒng)的實現(xiàn)流程
- Java 實戰(zhàn)項目之CRM客戶管理系統(tǒng)的實現(xiàn)流程
- Java 實戰(zhàn)項目錘煉之嘟嘟健身房管理系統(tǒng)的實現(xiàn)流程
- Java 實戰(zhàn)項目之倉庫管理系統(tǒng)的實現(xiàn)流程
- Java 實戰(zhàn)項目錘煉之小區(qū)物業(yè)管理系統(tǒng)的實現(xiàn)流程
- Java 實戰(zhàn)項目錘煉之醫(yī)院門診收費管理系統(tǒng)的實現(xiàn)流程
- Java 實戰(zhàn)項目錘煉之校園宿舍管理系統(tǒng)的實現(xiàn)流程
- Java 實戰(zhàn)項目錘煉之IT設(shè)備固定資產(chǎn)管理系統(tǒng)的實現(xiàn)流程
- Java 實戰(zhàn)項目之在線點餐系統(tǒng)的實現(xiàn)流程
相關(guān)文章
spring無法讀取properties文件數(shù)據(jù)問題詳解
這篇文章主要介紹了spring無法讀取properties文件數(shù)據(jù)問題詳解,需要的朋友可以參考下2020-02-02MyBatis-Plus攔截器實現(xiàn)數(shù)據(jù)權(quán)限控制的示例
本文主要介紹了MyBatis-Plus攔截器實現(xiàn)數(shù)據(jù)權(quán)限控制的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02SpringBoot深入理解之內(nèi)置web容器及配置的總結(jié)
今天小編就為大家分享一篇關(guān)于SpringBoot深入理解之內(nèi)置web容器及配置的總結(jié),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03Spring整合Mybatis使用<context:property-placeholder>時的坑
這篇文章主要介紹了Spring整合Mybatis使用<context:property-placeholder>時的坑 的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-06-06