我对Springmvc还很陌生,我正试图在我的控制器类中获取会话信息。
现在我在用
HttpSession objHttpSession = request.getSession(true);
如果我想获得我正在使用的会话创建时间和会话ID
objHttpSession.getCreationTime(); objHttpSession.getId();
我想知道是否有任何特定的SpringMVC方法来获取会话细节?
您可以在SpringMVC中获得这样的会话:
ServletRequestAttributes attr = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
HttpSession session = attr.getRequest().getSession();
currentRequestAttributes
方法返回RequestAttributes
当前绑定到存在当前请求的线程,从该请求可以获得会话。当您需要在非Spring类中掌握会话时,这是非常有用的。否则,您只需使用:
@RequestMapping(...)
public void myMethod(HttpSession session) {
}
Spring会注入HttpSession
实例到控制器的方法中。
当我需要访问会话细节时,我通常在SpringMVC控制器方法中声明HttpSession类型的参数。
例如:
@RequestMapping("/myrequest")
public void handleMyRequest(HttpSession session, ...) {
...
}
我认为这是最简单的方法。