customclickstreamfilter.java
来自「javaBB,一套很不錯的JSP源碼,特共享給大家」· Java 代码 · 共 45 行
JAVA
45 行
package org.javabb.infra;
import java.io.IOException;
import java.util.Map;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import com.opensymphony.clickstream.Clickstream;
import com.opensymphony.clickstream.ClickstreamFilter;
import com.opensymphony.clickstream.ClickstreamListener;
/**
* The filter that keeps track of a new entry in the clickstream for <b>every request </b>.
* @author <a href="plightbo@hotmail.com">Patrick Lightbody </a>
*/
public class CustomClickstreamFilter extends ClickstreamFilter {
/**
* Processes the given request and/or response.
* @param request The request
* @param response The response
* @param chain The processing chain
* @throws IOException If an error occurs
* @throws ServletException If an error occurs
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException,
ServletException {
HttpSession session = ((HttpServletRequest) request).getSession();
Map clickstreams = (Map) session.getServletContext()
.getAttribute(ClickstreamListener.CLICKSTREAMS_ATTRIBUTE_KEY);
if (!clickstreams.containsKey(session.getId())) {
Clickstream clickstream = new Clickstream();
session.setAttribute(ClickstreamListener.SESSION_ATTRIBUTE_KEY, clickstream);
clickstreams.put(session.getId(), clickstream);
}
super.doFilter(request, response, chain);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?