Java 如何在Spring MVC 3中获取会话信息
我是SpringMVC的新手,我正在尝试在我的控制器类中获取会话信息 现在我正在使用 HttpSession objHttpSession=request.getSession(true) 如果我想获得我正在使用的会话创建时间和会话Id objHttpSession.getCreationTime(); objHttpSession.getId() 我想知道是否有任何特定于SpringMVC的方法来获取会话细节Java 如何在Spring MVC 3中获取会话信息,java,spring-mvc,Java,Spring Mvc,我是SpringMVC的新手,我正在尝试在我的控制器类中获取会话信息 现在我正在使用 HttpSession objHttpSession=request.getSession(true) 如果我想获得我正在使用的会话创建时间和会话Id objHttpSession.getCreationTime(); objHttpSession.getId() 我想知道是否有任何特定于SpringMVC的方法来获取会话细节 提前感谢当我需要访问会话详细信息时,我通常在我的Spring MVC控制器方法中声明
提前感谢当我需要访问会话详细信息时,我通常在我的Spring MVC控制器方法中声明HttpSession类型的参数 例如:
@RequestMapping("/myrequest")
public void handleMyRequest(HttpSession session, ...) {
...
}
我认为这是最简单的方法,但不知道它是否适合您的需要。您可以在Spring MVC中获得如下会话:
ServletRequestAttributes attr = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
HttpSession session = attr.getRequest().getSession();
currentRequestAttributes
方法返回当前绑定到存在当前请求的线程的RequestAttributes
,从该请求可以获得会话。当您需要在非spring类中获得会话时,这非常有用。否则,您只需使用:
@RequestMapping(...)
public void myMethod(HttpSession session) {
}
Spring将把HttpSession
实例注入控制器的方法中