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]