现在我有这样的登录代码,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?
希望明确。
答案 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
注释的用法