development

봄 : 경로와 관련하여 / ** 및 / *의 차이

big-blog 2020. 10. 22. 08:18
반응형

봄 : 경로와 관련하여 / ** 및 / *의 차이


경로를 참조 할 때 하나의 별표 대신 두 개의 별표의 차이점은 무엇입니까?

이전에는 Spring 3 프로젝트를 디버깅했습니다. .swf를 추가하려고했습니다.

<spring:url var="flashy" value="/resources/images/flash.swf"/>

내 web.xml의 ResourceServlet이 다음과 같이 보입니다.

<servlet-name>Resource Servlet </servlet-name>
<url-pattern>/resources/*</url-pattern>

하지만 불행히도이 오류가 발생했습니다.

WARN org.springframework.js.resources.ResourceServlet - An attempt to access a protected resource at /images/flash.swf was disallowed.

images폴더 에있는 모든 이미지 가 액세스 되었기 때문에 정말 이상하다는 것을 알았습니다. 그러나 내 .swf가 "보호"된 이유 는 무엇입니까?

그 후, 나는을 변경하기로 결정 /resources/*/resources/**하고 마침내했다. 내 질문은 ... 왜?


이것은 Apache antSpring 팀 에서 사용 된 경로 패턴으로 프레임 워크 전체에서 구현하고 사용합니다.

참고로 AntPathMatcher의 javadoc을 참조하십시오 ( 최신 javadoc에 문제가있는 것 같으 므로 이전 파일을 연결합니다).

문제로 돌아가서 문서에 따르면 3 가지 규칙 만 있습니다.

  1. ? 한 문자와 일치
  2. * 0 개 이상의 문자와 일치
  3. ** 경로에서 0 개 이상의 '디렉토리'와 일치

참고 URL : https://stackoverflow.com/questions/12569308/spring-difference-of-and-with-regards-to-paths

반응형