session管理

来源:互联网 发布:unity3d太空射击教程 编辑:程序博客网 时间:2024/05/16 23:49

public class SessionManager
{

    private static SessionManager sessionManager = null;

    public static SessionManager getInstance()
    {

        if (sessionManager == null)
        {
            sessionManager = new SessionManager();
        }
        return sessionManager;
    }

    private ThreadLocal<HttpSession> sessionHolder = new ThreadLocal<HttpSession>();

    private ThreadLocal<ApplicationContext> applicationContextHolder = new ThreadLocal<ApplicationContext>();

    public void setSession(HttpSession session)
    {
        if (session != sessionHolder.get())
        {
            sessionHolder.set(session);
        }
    }

      private HttpSession getSession()
    {

        return sessionHolder.get();
    }

    public String getLoginId()
    {
                loginId = (String) this.getSession().getAttribute("loginId");
              return loginId;
    }

    public Object getLoginUser()
    {
                    result = this.getSession().getAttribute("LoginUser");
            }

    public void setApplicationContext(ApplicationContext applicationContext)
    {

        if (applicationContext != applicationContextHolder.get())
        {

            applicationContextHolder.set(applicationContext);

        }

    }

    public ApplicationContext getApplicationContext()
    {

        return applicationContextHolder.get();
    }

    public void sessionDestroyed()
    {
        sessionHolder.remove();
    }

       public void removeSession(String attributeName)
    {
        this.getSession().removeAttribute(attributeName);
    }
}

 

原创粉丝点击