2016-06-10 11 views
0

아래는, 응용 프로그램이 내가 직면하고 스피어 8.5스피어 환영 파일 필터는

<filter> 
    <filter-name>securityFilter</filter-name> 
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
</filter> 

<filter-mapping> 
    <filter-name>CheckFilter</filter-name> 
    <url-pattern>/index.jsp</url-pattern> 
</filter-mapping> 
<welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 

문제에 depployed 내 web.xml 파일의 내용이 내가 타격하고 때 내 CheckFilter 호출하기가 없습니다 있습니다 집어 안한다 url like https://servername:portNumber/contextPath/?QueryParam 같은 블로그에서 잘 작동하고 있습니다. & weblogic.

하지만 난 https://servername:portNumber/contextPath/index.jsp?QueryParam

내 필터는 내가 변경해야한다 무엇을 첫 번째 URL에 대한 응답을 얻을 invoked.To지고 URL을 입력합니다.

즉, index.jsp 필터를주지 않아도 호출해야합니다.

답변

0

그래서 당신은 두 가지 옵션 (이 같은 /에 URLPATTERN 추가 요구 사항

1)에 따라이 당신이 패턴에는 index.jsp를)

<filter-mapping> 
     <filter-name>RootFilter</filter-name> 
     <url-pattern>/index.jsp</url-pattern> 
     <url-pattern>/</url-pattern> 
</filter-mapping> 
이없는 단지 응용 프로그램 컨텍스트 호출하면 이후

2) 요청이 index.jsp를 전달하기 때문에,이 같은 필터 매핑에 FORWARD를 추가 할 수 있습니다

<filter-mapping> 
    <filter-name>RootFilter</filter-name> 
    <url-pattern>/index.jsp</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
</filter-mapping> 
+0

죄송합니다 @ 가스, 아무도 작동하지 않았습니다. – Rogger296

+0

그래서 내 샘플 앱에서 둘 다 제대로 작동하므로 앱에 문제가 있습니다. web.xml (어쩌면 첨부 완료)과 로그 (어쩌면 거기에 오류가 있음)를 확인하십시오. – Gas

+0

안녕하세요 @ 가스, 나는 두 URL에서 index.jsp가 호출되는 것을 발견했습니다. 그러나 URL에 index.jsp가없는 필터는 필터를 호출하지 않고 직접 index.jsp를 호출합니다. 그리고 index.jsp를가 존재하는 다른 * .jsp를 \t \t \t \t 먼저 다음 필터를 호출 – Rogger296