用户登录功能的实现
由于系统设置了一个interceptor对用户访问进行了拦截,未登录用户无法进入系统进行下一步的操作,因此要想实现进一步操作就必须进行登录,系统的登录功能的实现大致是:1、用户提交登录表格参数(该请求不受拦截器拦截,可提交到前端控制器)2、前端控制器接收到该请求查询Controller判断需调用的方法3、Controller相关方法调用业务逻辑组件进行处理返回视图。Controller方法:
@RequestMapping(value="/login")
public ModelAndView login(@RequestParam("loginName") String loginName,@RequestParam("password") String password,
HttpSession session,ModelAndView mv){
System.out.println(loginName);
System.out.println(password);
//调用业务逻辑组件判断用户是否登录
User user=hrmService.login(loginName, password);
if(user!=null){
session.setAttribute("user", user);
//客户端跳转到main页面
mv.setViewName("redirect:/index");
}
else{
//设置登录失败信息
mv.addObject("messaege", "登录名或密码错误,请重新登录!");
mv.setViewName("forward:/loginForm");
}
return mv;
}
用户登录功能实现相对比较简单,就是获取loginName以及password,再调用hrmService接口方法login(loginName, password)即可。如果查询结果User不为空,则表示用户存在,那么就将User存入session,页面跳转到首页,此时用户就可进一步操作了。