读书人

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

发布时间: 2012-10-23 12:12:22 作者: rapoo

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]

读书人网 >J2EE开发

热点推荐