📄 mockfiltersupport.java
字号:
package org.displaytag.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.lang.StringUtils;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * Simulates the behaviour of a filter using a simple servlet. The servlet must be mapped to the "*.filtered" extension; * request include this extension after the name of the tested jsp. Since servletunit doesn't support filter testing, we * are passing the request to this servlet which calls the filter and then forward the request to the given path without * ".filtered". <strong>Replaced by native filter support in ServletUnit 1.6. </strong> * @author Fabrizio Giustina * @version $Revision: 1081 $ ($Author: fgiust $) */public class MockFilterSupport extends HttpServlet{ /** * extension mapped to this servlet. */ public static final String FILTERED_EXTENSION = ".filtered"; /** * logger. */ protected static Log log = LogFactory.getLog(MockFilterSupport.class); /** * D1597A17A6. */ private static final long serialVersionUID = 899149338534L; /** * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest, HttpServletResponse) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { log.debug("Mock servlet called, simulating filter"); Filter filter = new ResponseOverrideFilter(); filter.init(null); filter.doFilter(request, response, new MockFilterChain()); } /** * Simple FilterChain used to test Filters. */ public static class MockFilterChain implements FilterChain { /** * @see javax.servlet.FilterChain#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) */ public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException { String uri = ((HttpServletRequest) request).getRequestURI(); String requestContext = ((HttpServletRequest) request).getContextPath(); if (StringUtils.isNotEmpty(requestContext) && uri.startsWith(requestContext)) { uri = uri.substring(requestContext.length()); } uri = StringUtils.replace(uri, FILTERED_EXTENSION, ""); if (log.isDebugEnabled()) { log.debug("Redirecting to [" + uri + "]"); } RequestDispatcher dispatcher = request.getRequestDispatcher(uri); dispatcher.forward(request, response); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -