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