sessionlistener.java

来自「一个用java编写的功能强大的OA系统」· Java 代码 · 共 62 行

JAVA
62
字号
package com.redmoon.oa;import javax.servlet.http.*;import java.util.Map;import java.util.HashMap;import com.redmoon.oa.pvg.Privilege;import java.util.Locale;import cn.js.fan.util.ResBundle;public class SessionListener implements HttpSessionListener {    private static int sessionCount = 0;    private static Map sessionMaps = new HashMap();         public void sessionCreated(HttpSessionEvent httpSessionEvent) {        HttpSession session = httpSessionEvent.getSession();        String sessionId = session.getId();                sessionMaps.put(sessionId, session);        sessionCount++;    }        public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {        sessionCount--;        HttpSession session = httpSessionEvent.getSession();        String userName = (String)session.getAttribute(Privilege.NAME);        if (userName!=null) {                        Locale locale = (Locale) session.getAttribute("locale");            String str = "";            if (locale != null) {                try {                    ResBundle rb = new ResBundle("res.module.log", locale);                    str = rb.get("action_logout");                } catch (Exception e) {                    System.out.println(this.getClass().getName() + ":" +                                       e.getMessage());                }            }            LogUtil.log((String) session.getAttribute(Privilege.NAME), "",                        LogDb.TYPE_LOGOUT, str);        }        else            System.out.println(this.getClass().getName() + ": userName=null sessionId=" + session.getId());        String sessionId = session.getId();        sessionMaps.remove(sessionId);             }    public static int getSessionCount() {        return sessionCount;    }    public static Map getSessionMaps() {        return sessionMaps;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?