首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

spring2.5取得用户登录的session信息

2012-10-23 
spring2.5获得用户登录的session信息spring2.5获得用户登录的session信息,得到的都是最后一个登录的用户信

spring2.5获得用户登录的session信息
spring2.5获得用户登录的session信息,得到的都是最后一个登录的用户信息,怎么得到当前用户信息呢? 


[解决办法]
当前用户信息,还是在HttpSession里面弄吧,这个和Spring没多大关系.在登陆的时候 将用户存在HttpSession就行,想取就在httpSeesion里面拿,为了方便你拿,我提供一个工具类给你.
[code=Java]
public class UserFactory {

private static final ThreadLocal <HttpServletRequest> threadLocal
= new ThreadLocal <HttpServletRequest> ();

private UserFactory() {
}

public static User getUser() {
User user = null;

if (threadLocal.get() != null) {

HttpServletRequest request
= (HttpServletRequest) threadLocal.get();

user = (User) request.getSession()
.getAttribute(Constants.USER);
}
return user;
}

public static void set(ServletRequest request) {

HttpServletRequest req = (HttpServletRequest) request;
threadLocal.set(req);
}

public static HttpServletRequest getRequest() {
HttpServletRequest request = (HttpServletRequest) threadLocal.get();
return request;

}

public static ServletContext getServletContext() {
return getRequest().getSession().getServletContext();
}
}

其中的Constants.USER为在登陆时的定义变量:
session.setAttribute(user , Constants.USER);

[/code]

热点排行