clickstreamlistener.java
来自「clickstream是开源的JAVA项目」· Java 代码 · 共 56 行
JAVA
56 行
package com.opensymphony.clickstream;import com.opensymphony.util.Logger;import com.opensymphony.clickstream.logger.ClickstreamLoggerFactory;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;import javax.servlet.http.HttpSession;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;import java.util.HashMap;import java.util.Map;/** * The listener that keeps track of all clickstreams in the container as well * as the creating new Clickstream objects and initiating logging when the * clickstream dies (session has been invalidated). * * @author <a href="plightbo@hotmail.com">Patrick Lightbody</a> */public class ClickstreamListener implements ServletContextListener, HttpSessionListener { private static Logger log = new Logger(ClickstreamListener.class); private Map clickstreams = new HashMap(); public ClickstreamListener() { log.debug("ClickstreamLogger constructed"); } public void contextInitialized(ServletContextEvent sce) { log.debug("ServletContext Initialised");
sce.getServletContext().setAttribute("clickstreams", clickstreams); } public void contextDestroyed(ServletContextEvent sce) { sce.getServletContext().setAttribute("clickstreams", null);
log.debug("ServletContext Destroyed"); } public void sessionCreated(HttpSessionEvent hse) { log.debug("Session Created");
HttpSession session = hse.getSession(); Clickstream clickstream = new Clickstream(); session.setAttribute("clickstream", clickstream); clickstreams.put(session.getId(), clickstream); } public void sessionDestroyed(HttpSessionEvent hse) { log.debug("Session Destroyed");
HttpSession session = hse.getSession(); Clickstream stream = (Clickstream) session.getAttribute("clickstream"); ClickstreamLoggerFactory.getLogger().log(stream); clickstreams.remove(session.getId()); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?