WEB 應用通常會引入 Session,用來在服務端和客戶端之間保存一系列動作/消息的狀態,比如網上購物維護 user 登錄信息直到 user 退出。SpringMVC存取Session的兩種方法,具體如下:
方法一:使用servlet-api
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
@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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
@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" ; } } |
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://blog.csdn.net/heirenheiren/article/details/38980817