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

解决方案 »

  1.   

    当前用户信息,还是在HttpSession里面弄吧,这个和Spring没多大关系.在登陆的时候 将用户存在HttpSession就行,想取就在httpSeesion里面拿,为了方便你拿,我提供一个工具类给你.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);