2014-09-26 9 views
-2

을이 web.xml에 내 필터 매핑되는 호출 : -doFilter 너무 많은 시간

<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> 

내 URL은
같다 "로컬 호스트 : 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

없이 그 호출하지 무한한 시간, 20 (30) 일 수 있습니다 타임스. –

+2

@BipinBangwal 그리고 ...? 멈출 유일한 이유는 컨테이너 나 브라우저가 무한 리디렉션 루프에 있음을 깨닫기 때문입니다. –