<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    linlinyu

    linlinyu
    posts - 0, comments - 4, trackbacks - 0, articles - 15

    ServletContextListener和HttpSessionListener 應用

    Posted on 2007-11-25 21:23 linlin yu 閱讀(1036) 評論(0)  編輯  收藏 所屬分類: servlet
    1,ServletContextListener
    package com.soyoung.xxx.util;

    import java.util.Properties;

    import javax.servlet.ServletContext;
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
    import javax.servlet.http.HttpSessionEvent;

    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;

    import EDU.oswego.cs.dl.util.concurrent.SynchronizedInt;

    /**
     * 
     * 
    @author linlinyu
     * 
    @version 1.0
     * @web.listener
     
    */

    public class XXXContext implements ServletContextListener {
        
    private String mVersion = null;

        
    private String mBuildTime = null;

        
    private String mBuildUser = null;

        
    public static final String XXX_CONTEXT = "xxxContext";

        
    private static String version_config = "/version.properties";

        
    private static ServletContext mContext = null;

        
    private static Log mLogger = LogFactory.getLog(XXXContext.class);

        
    private final SynchronizedInt mSessionCount = new SynchronizedInt(0);

        
    public String getBuildTime() {
            
    return mBuildTime;
        }


        
    public String getBuildUser() {
            
    return mBuildUser;
        }


        
    public String getVersion() {
            
    return mVersion;
        }


        
    public XXXContext() {
            
    super();

            Properties props 
    = new Properties();
            
    try {
                props.load(getClass().getResourceAsStream(version_config));
            }
     catch (Exception e) {
                mLogger.error(
    "version.properties not found", e);
            }


            mVersion 
    = props.getProperty("xxx.version""UNKNOWN");
            mBuildTime 
    = props.getProperty("xxx.buildTime""UNKNOWN");
            mBuildUser 
    = props.getProperty("xxx.buildUser""UNKNOWN");

        }


        
    public static XXXContext getXXXContextt() {
            ServletContext sc 
    = XXXContext.getServletContext();
            
    return (XXXContext) sc.getAttribute(XXX_CONTEXT);
        }


        
    public static ServletContext getServletContext() {
            
    return mContext;
        }


        
    public void contextDestroyed(ServletContextEvent arg0) {
            
    // TODO Auto-generated method stub

        }


        
    public void contextInitialized(ServletContextEvent sce) {
            mContext 
    = sce.getServletContext();
            mContext.setAttribute(XXX_CONTEXT, 
    this);
        }


        
    public void sessionCreated(HttpSessionEvent se) {
            mSessionCount.increment();

            mLogger.debug(
    "sessions=" + mSessionCount + ":freemem="
                    
    + Runtime.getRuntime().freeMemory() + ":totmem="
                    
    + Runtime.getRuntime().totalMemory());
        }


        
    public void sessionDestroyed(HttpSessionEvent se) {
            mSessionCount.decrement();

            mLogger.debug(
    "sessions=" + mSessionCount + ":freemem="
                    
    + Runtime.getRuntime().freeMemory() + ":totalmem="
                    
    + Runtime.getRuntime().totalMemory());
        }


        
    public int getSessionCount() {
            
    return mSessionCount.complement();
        }

    }


    2,HttpSessionListener
    package com.soyoung.xxx.util;

    import java.io.Serializable;
    import java.security.Principal;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpSession;
    import javax.servlet.http.HttpSessionActivationListener;
    import javax.servlet.http.HttpSessionEvent;
    import javax.servlet.http.HttpSessionListener;

    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;

    /**
     * 
     * 
    @author linlinyu
     * 
    @version 1.0
     * @web.listener
     * 
     
    */

    public class XXXSession implements HttpSessionListener,
            HttpSessionActivationListener, Serializable 
    {
        
    public static final String XXX_SESSION = "com.soyoung.xxx.XXXSession";

        
    private Object userData = null;

        
    private HttpSession httpSession = null;

        
    private static Log mLogger = LogFactory.getFactory().getInstance(
                XXXSession.
    class);

        
    public static XXXSession getXXXSession(HttpServletRequest request) {
            XXXSession xxxSession 
    = null;
            HttpSession session 
    = request.getSession(false);
            
    if (xxxSession == null{
                xxxSession 
    = new XXXSession();
                session.setAttribute(XXX_SESSION, xxxSession);
            }

            Principal principal 
    = request.getUserPrincipal();
            
    if (xxxSession.getUserData() == null && principal != null{
                
    // Object user = findUserByName(principal);
                
    // if(user != null){
                
    // xxxSession.setUserData(user);
                
    // }
            }


            
    return xxxSession;

        }


        
    public Object getSessionAttribute(String atrribue) {
            
    return httpSession.getAttribute(atrribue);
        }


        
    public void sessionCreated(HttpSessionEvent se) {
            XXXSession xxxSession 
    = new XXXSession();
            xxxSession.setHttpSession(se.getSession());
            se.getSession().setAttribute(XXX_SESSION, xxxSession);
            XXXContext ctx 
    = XXXContext.getXXXContextt();
            ctx.sessionCreated(se);
        }


        
    public void sessionDestroyed(HttpSessionEvent se) {
            XXXContext ctx 
    = XXXContext.getXXXContextt();
            ctx.sessionDestroyed(se);
            clearSession(se);
        }


        
    public void sessionDidActivate(HttpSessionEvent arg0) {

        }


        
    public void sessionWillPassivate(HttpSessionEvent se) {
            clearSession(se);

        }


        
    private void clearSession(HttpSessionEvent se) {
            HttpSession session 
    = se.getSession();
            
    try {
                session.removeAttribute(XXX_SESSION);
            }
     catch (Throwable e) {
                
    if (mLogger.isDebugEnabled()) {
                    
    // ignore purge exceptions
                    mLogger.debug("EXCEPTION PURGING session attributes", e);
                }

            }

        }


        
    public Object getUserData() {
            
    return userData;
        }


        
    public void setUserData(Object userData) {
            
    this.userData = userData;
        }


        
    public HttpSession getHttpSession() {
            
    return httpSession;
        }


        
    public void setHttpSession(HttpSession httpSession) {
            
    this.httpSession = httpSession;
        }


    }

    主站蜘蛛池模板: 又粗又大又猛又爽免费视频| 男人扒开添女人下部免费视频| 国产在线精品一区免费香蕉 | 国产成人无码免费看视频软件 | 免费无码婬片aaa直播表情| 日韩免费无码一区二区视频 | 亚洲国产综合无码一区| 久久精品国产亚洲AV嫖农村妇女| 精品亚洲永久免费精品| 亚洲国产成人久久精品动漫| 3344永久在线观看视频免费首页| 亚洲精品在线播放视频| 69成人免费视频| 久久久久一级精品亚洲国产成人综合AV区| 老司机免费午夜精品视频| 暖暖免费在线中文日本| 噜噜噜亚洲色成人网站∨| 桃子视频在线观看高清免费完整| 亚洲人成77777在线观看网| 国产黄色片在线免费观看| 手机永久免费的AV在线电影网| 亚洲美女又黄又爽在线观看| 免费无码中文字幕A级毛片| 亚洲av日韩av无码av| 国产成人免费全部网站| a毛片全部播放免费视频完整18| 久久精品国产亚洲77777| 成人免费在线视频| 一级做性色a爰片久久毛片免费| 日韩一区二区a片免费观看| 国产精品亚洲精品日韩动图| 国产亚洲精AA在线观看SEE| 91黑丝国产线观看免费| 美女视频黄频a免费观看| 亚洲成在人天堂在线| 精品国产免费观看久久久 | 亚洲国产成+人+综合| 99视频在线免费看| 亚洲成熟丰满熟妇高潮XXXXX| 91麻豆国产自产在线观看亚洲| 100000免费啪啪18免进|