Java实战项目锤炼之网上图书馆管理系统的实现流程
一、项目简述
二、项目运行
环境配置:Jdk1.8+Tomcat8.5+mysql+Eclispe(IntelliJIDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:jsP+Servlert+html+css+javascript+jquery+Ajax等等。
用户登陆模块代码:
用户登陆模块:
@Controller
publicclassLoginController{
privateLoginServiceloginService;
@Autowired
publicvoidsetLoginService(LoginServiceloginService){
this.loginService=loginService;
}
@RequestMapping(value={"/","/login.html"})
publicStringtoLogin(HttpServletRequestrequest){
request.getSession().invalidate();
return"index";
@RequestMapping("/logout.html")
publicStringlogout(HttpServletRequestrequest){
return"redirect:/login.html";
//负责处理loginCheck.html请求
//请求参数会根据参数名称默认契约自动绑定到相应方法的入参中
@RequestMapping(value="/api/loginCheck",method=RequestMethod.POST)
public@ResponseBody
ObjectloginCheck(HttpServletRequestrequest){
longid=Long.parseLong(request.getParameter("id"));
Stringpasswd=request.getParameter("passwd");
booleanisReader=loginService.hasMatchReader(id,passwd);
HashMapres=newHashMap<>();
if(isAdmin){
Adminadmin=newAdmin();
admin.setAdminId(id);
admin.setPassword(passwd);
Stringusername=loginService.getAdminUsername(id);
admin.setUsername(username);
request.getSession().setAttribute("admin",admin);
res.put("stateCode","1");
res.put("msg","管理员登陆成功!");
}elseif(isReader){
ReaderCardreaderCard=loginService.findReaderCardByReaderId(id);
request.getSession().setAttribute("readercard",readerCard);
res.put("stateCode","2");
res.put("msg","读者登陆成功!");
}else{
res.put("stateCode","0");
res.put("msg","账号或密码错误!");
returnres;
@RequestMapping("/admin_main.html")
publicModelAndViewtoAdminMain(HttpServletResponseresponse){
returnnewModelAndView("admin_main");
@RequestMapping("/reader_main.html")
publicModelAndViewtoReaderMain(HttpServletResponseresponse){
returnnewModelAndView("reader_main");
@RequestMapping("/admin_repasswd.html")
publicModelAndViewreAdminPasswd(){
returnnewModelAndView("admin_repasswd");
@RequestMapping("/admin_repasswd_do")
publicStringreAdminPasswdDo(HttpServletRequestrequest,StringoldPasswd,StringnewPasswd,StringreNewPasswd,RedirectAttributesredirectAttributes){
Adminadmin=(Admin)request.getSession().getAttribute("admin");
longid=admin.getAdminId();
Stringpassword=loginService.getAdminPassword(id);
if(password.equals(oldPasswd)){
if(loginService.adminRePassword(id,newPasswd)){
redirectAttributes.addFlashAttribute("succ","密码修改成功!");
return"redirect:/admin_repasswd.html";
redirectAttributes.addFlashAttribute("error","密码修改失败!");
redirectAttributes.addFlashAttribuyznMlKste("error","旧密码错误!");
@RequestMapping("/reader_repasswd.html")
publicModelAndViewreReaderPasswd(){
returnnewModelAndView("reader_repasswd");
@RequestMapping("/reader_repasswd_do")
publicStringreReaderPasswdDo(HttpServletRequestrequest,StringoldPasswd,StringnewPasswd,StringreNewPasswd,RedirectAttributesredirectAttributes){
ReaderCardreader=(ReaderCard)request.getSession().getAttribute("readercard");
longid=reader.getReaderId();
Stringpassword=loginService.getReaderPassword(id);
if(loginService.readerRePassword(id,newPasswd)){
return"redirect:/reader_repasswd.html";
redirectAttributes.addFlashAttribute("error","旧密码错误!");
//配置404页面
@RequestMapping("*")
publicStringnotFind(){
return"404";
静态资源和拦截器配置代码:
静态资源和拦截器配置:
@Configuration
@EnableWebMvc
@ComponentScan("com.library.controller")
publicclassWebConfigextendsWebMvcConfigurerAdapter{
@Bean
publicViewResolverviewResolver(){
InternalResourceViewResolverresolver=newInternalResourceViewResolver();
resolver.setSuffix(".jsp");
returnresolver;
@Override
publicvoidconfigureDefaultServletHandling(DefaultServletHandlerConfigurerconfigurer){
configurer.enable();
publicvoidaddResourceHandlers(ResourceHandlerRegistryregistry){
registry.addResourceHandler("/img/**")
.addResourceLocations("/static/img/");
registry.addResourceHandler("/js/**").addResourceLocations("/static/js/");
registry.addResourceHandler("/css/**").addResourceLocations("/static/css/");