doFilter打电话的次数太多了

时间:2014-09-26 17:14:05

标签: struts servlet-filters

这是我在web.xml中的过滤器映射: -

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>
        org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
       <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter>
    <filter-name>LoginFilter</filter-name>
    <filter-class>login.LoginFilter</filter-class>
    <init-param>
        <param-name>test-param</param-name>
        <param-value>This parameter is for testing.</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>LoginFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
</filter-mapping>

我的网址就像是      “本地主机:9966 / RemindMe /”

当我在浏览器中粘贴此Url时,doFilter方法会多次调用。

这是我的doFilter方法: -

  public void doFilter(ServletRequest req, ServletResponse res,
        FilterChain chain) throws IOException, ServletException {
    try {
         HttpServletResponse response = (HttpServletResponse) res;
            response.sendRedirect("./login.jsp");
            return;
    } catch (Exception e) {
         System.out.println("Exception is " + e);
    }

}

1 个答案:

答案 0 :(得分:1)

过多次&#34;你是说&#34;无限&#34;?

您的过滤器重定向(浏览器发出另一个请求),这意味着您的过滤器被点击,这意味着浏览器会发出另一个请求,这意味着......