如何在spring框架中设置Session

时间:2013-07-15 03:40:39

标签: spring servlets

现在我有这样的登录代码,UserInfo是一个包含用户名和密码的表单

@RequestMapping(value = "/login/loginCheck", method = RequestMethod.POST)
public Map<String, Object> loginCheck(UserInfo userInfo)

@RequestMapping(value = "/login/PageA", method = RequestMethod.POST)
public Map<String, Object> PageA(){
   //maybe check the session
   //if session expired ,then redirect to login page 
}

登录后,我应该将页面重定向到页面A,并在会话中记录用户名。所以在spring框架中,我只是配置它还是从请求获取Session?

希望明确。

1 个答案:

答案 0 :(得分:0)

有很多方法,一种是简单地将HttpSession注入到处理程序方法

@RequestMapping(value = "/login/PageA", method = RequestMethod.POST)
public Map<String, Object> PageA(HttpSession httpSession){
   //maybe check the session
   //if session expired ,then redirect to login page 
}

如果session不再有效,HttpSession的getAttribute方法将抛出IllegalStateException,但我感觉Spring MVC会在发生这种情况时为你创建一个新会话,所以也要检查是否存在(null值) )

另请参阅Spring文档和Spring Security框架中@SessionAttributes@ModelAttribute注释的用法