应用ThreadLocal管理session,开始getSession正常,操作几下后就返回null.跟踪local对象没变。
代码如下:
public static final ThreadLocal local = new ThreadLocal();
public static void setSession(HttpSession httpsession) {
if ( local.get() == null) {
local.set(httpsession);
}
}
public static HttpSession getSession() {
return (HttpSession) local.get();
}
另外我是用httpsession.setAttribute(s, obj);保存用户信息,在获取用户信息时前几次正常获取,后来session返回null.
测试了好几次,出现这情况很随机没什么规律。界面部份是用ext实现,外加spring mvc转换url.
------解决方案--------------------
这和本地线程的机制有关吧 楼主是如何去测的这个httpsession