1 package org.javabb.infra; 2 3 import java.io.IOException ; 4 import java.util.Map ; 5 6 import javax.servlet.FilterChain ; 7 import javax.servlet.ServletException ; 8 import javax.servlet.ServletRequest ; 9 import javax.servlet.ServletResponse ; 10 import javax.servlet.http.HttpServletRequest ; 11 import javax.servlet.http.HttpSession ; 12 13 import com.opensymphony.clickstream.Clickstream; 14 import com.opensymphony.clickstream.ClickstreamFilter; 15 import com.opensymphony.clickstream.ClickstreamListener; 16 17 21 public class CustomClickstreamFilter extends ClickstreamFilter { 22 30 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 31 throws IOException , 32 ServletException { 33 34 HttpSession session = ((HttpServletRequest ) request).getSession(); 35 Map clickstreams = (Map ) session.getServletContext() 36 .getAttribute(ClickstreamListener.CLICKSTREAMS_ATTRIBUTE_KEY); 37 if (!clickstreams.containsKey(session.getId())) { 38 Clickstream clickstream = new Clickstream(); 39 session.setAttribute(ClickstreamListener.SESSION_ATTRIBUTE_KEY, clickstream); 40 clickstreams.put(session.getId(), clickstream); 41 } 42 43 super.doFilter(request, response, chain); 44 } 45 } | Popular Tags |