⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mockfiltersupport.java

📁 分页标签
💻 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 + -