WEB 應用通常會引入 Session,用來在服務端和用戶端之間保存一系列動作/訊息的狀態,例如線上購物維護 user 登入資訊直到 user 登出。 SpringMVC存取Session的兩種方法,如下:
方法一:使用servlet-api
@Controller public class ManagerController { @Resource private ManagerService managerServiceImpl; @RequestMapping(value = "manager/login.do",method = RequestMethod.GET) public ModelAndView login(ManagerModel managerModel,HttpSession httpSession){ ManagerModel manager = managerServiceImpl.getManager(managerModel); if(manager!=null){ manager.setPassword(""); httpSession.setAttribute("manager", manager); return new ModelAndView(new RedirectView("../admin/main.jsp")); }else{ return new ModelAndView(new RedirectView("../admin/login.jsp")); } } @RequestMapping(value = "manager/logout.do",method = RequestMethod.GET) public String logout(HttpSession httpSession){ httpSession.getAttribute("manager"); return "success"; } }
方法二:使用SessionAttributes
@Controller @SessionAttributes("manager") public class ManagerController { @Resource private ManagerService managerServiceImpl; @RequestMapping(value = "manager/login.do",method = RequestMethod.GET) public ModelAndView login(ManagerModel managerModel,ModelMap model){ ManagerModel manager = managerServiceImpl.getManager(managerModel); if(manager!=null){ manager.setPassword(""); model.addAttribute("manager", manager); return new ModelAndView(new RedirectView("../admin/main.jsp")); }else{ return new ModelAndView(new RedirectView("../admin/login.jsp")); } } @RequestMapping(value = "manager/logout.do",method = RequestMethod.GET) public String logout(@ModelAttribute("manager")ManagerModel managerModel){ return "success"; } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持PHP中文網路。
更多SpringMVC存取Session的兩種方法相關文章請關注PHP中文網!