SpringMVC存取Session的两种方法 转

时间:2023-03-09 07:31:38
SpringMVC存取Session的两种方法 转

方法一:使用servlet-api

  1. @Controller
  2. public class ManagerController {
  3. @Resource
  4. private ManagerService managerServiceImpl;
  5. @RequestMapping(value = "manager/login.do",method = RequestMethod.GET)
  6. public ModelAndView login(ManagerModel managerModel,HttpSession httpSession){
  7. ManagerModel manager = managerServiceImpl.getManager(managerModel);
  8. if(manager!=null){
  9. manager.setPassword("");
  10. httpSession.setAttribute("manager", manager);
  11. return new ModelAndView(new RedirectView("../admin/main.jsp"));
  12. }else{
  13. return new ModelAndView(new RedirectView("../admin/login.jsp"));
  14. }
  15. }
  16. @RequestMapping(value = "manager/logout.do",method = RequestMethod.GET)
  17. public String logout(HttpSession httpSession){
  18. httpSession.getAttribute("manager");
  19. return "success";
  20. }
  21. }

方法二:使用SessionAttributes

    1. @Controller
    2. @SessionAttributes("manager")
    3. public class ManagerController {
    4. @Resource
    5. private ManagerService managerServiceImpl;
    6. @RequestMapping(value = "manager/login.do",method = RequestMethod.GET)
    7. public ModelAndView login(ManagerModel managerModel,ModelMap model){
    8. ManagerModel manager = managerServiceImpl.getManager(managerModel);
    9. if(manager!=null){
    10. manager.setPassword("");
    11. model.addAttribute("manager", manager);
    12. return new ModelAndView(new RedirectView("../admin/main.jsp"));
    13. }else{
    14. return new ModelAndView(new RedirectView("../admin/login.jsp"));
    15. }
    16. }
    17. @RequestMapping(value = "manager/logout.do",method = RequestMethod.GET)
    18. public String logout(@ModelAttribute("manager")ManagerModel managerModel){
    19. return "success";
    20. }
    21. }