2011-12-19 2 views
0

내 프로젝트에 대해 일부 필터 매핑을 사용하고 있습니다. 다음 필터 구글과 필터필터 매핑 문제

<filter-mapping> 
     <filter-name>wygUserCheckFilter</filter-name> 
     <url-pattern>*.jsp</url-pattern> 
</filter-mapping> 

<filter-mapping> 
     <filter-name>wygUserCheckFilter</filter-name> 
     <url-pattern>/myProject/MyDisplay.jsp</url-pattern> 
</filter-mapping> 

를 공격하지만, 아래의 사람은 왜 그렇게되는 필터

<filter-mapping> 
     <filter-name>wygUserCheckFilter</filter-name> 
     <url-pattern>/myProject/*.jsp</url-pattern> 
</filter-mapping> 

에 충돌하지 않는 이유는 무엇입니까? 서블릿 2.5 스펙에서

답변

3

패턴의 중간에 *가 * 문자에만 일치하기 때문에. /myProject/*.jsp-pattern에 일치하는 URL 만 정확히 동일한 문자열입니다. * 다음과 같은 경우에만 (서블릿 2.4 스펙)에 특별한 의미를 가지고있다 :

  • 하는 문자열에 '/'문자로 시작하고 '/ *' 접미사로 끝나는 경로 매핑에 사용됩니다.
  • '*.' prefx로 시작하는 문자열이 확장 매핑으로 사용됩니다.
  • '/'문자 만 포함 된 문자열은 응용 프로그램의 "기본"서블릿을 나타냅니다. 에서이 경우 서블릿 경로는 요청 URI에서 컨텍스트 경로 을 뺀 경로 정보이며 null입니다.
  • 다른 모든 문자열은 일치 항목에만 사용됩니다.
+0

감사합니다. 이제 알겠습니다 . –

2

: 웹 응용 프로그램 배포 설명에 매핑

SRV.11.2

사양은 다음과 같은 구문 매핑을 정의하는 데 사용됩니다 :

  • 경로 매핑에 '/'문자로 시작하고 '/ *'접미사로 끝나는 문자열이 사용됩니다.
  • '*.'접두사로 시작하는 문자열이 확장명 매핑으로 사용됩니다.
  • '/'문자 만 포함 된 문자열은 응용 프로그램의 "기본"서블릿을 나타냅니다. 이 경우 서블릿 경로 은 요청 URI에서 컨텍스트 경로 빼기이고 경로 정보는 null입니다.
  • 다른 모든 문자열은 일치 검색에만 사용됩니다.