java 웹에서 정적 파일의 상용 처리 방법 요약
메서드 1: 정적 파일을 처리하기 위해 Tomcat의 defaultServlet 활성화
웹에서xml에 추가:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
설명: Dispatcher Servlet 앞에 써서default Servlet이 먼저 요청을 차단하도록 하세요. 그러면 요청이 Spring에 들어가지 않을 거예요. 성능이 가장 좋은 것 같아요.Tomcat, Jetty, JBoss, and GlassFish의 기본 서브렛 이름인 "default"
Google App Engine 자체 기본 서브렛의 이름 - "_ah_default"
Resin 자체 기본 서브렛의 이름 - "resin-file"
WebLogic 자체 기본 서브렛 이름 - "FileServlet"
WebSphere 자체 기본 서브렛 이름 - "SimpleFileServlet"
방법2:spring3.0.4 이후 버전에서 mvc:resources를 제공했고 사용 방법:
<!-- -->
<mvc:resources mapping="/images/**" location="/images/" />
설명:/images/**는 ResourceHttpRequestHandler에 매핑되어 처리되며 location은 정적 자원의 위치를 지정합니다.웹 응용 프로그램 루트 디렉터리에 있는jar 패키지에 정적 자원을 압축할 수 있습니다.cache-period는 정적 자원을 웹cache로 만들 수 있습니다방법3,
<mvc:default-servlet-handler/>
"/**"url을 SimpleUrlHandlerMapping의 urlMap에 등록하고 정적 자원에 대한 접근을 HandlerMapping에서 org로 이동합니다.springframework.web.servlet.resource.DefaultServletHttpRequestHandler 를 처리하고 반환합니다.Default ServletHttpRequestHandler 사용은 각 Servlet 용기의 기본 Servlet입니다.
추가 설명: 여러 HandlerMapping의 실행 순서 문제:
DefaultAnnotationHandlerMapping의 order 속성 값은: 0
스프링은order값이 비교적 작은 것을 먼저 실행합니다.a.jpg 그림 파일에 접근할 때 Default Annotation Handler Mapping을 통해 프로세서를 찾으면 찾을 수 없습니다. 왜냐하면 우리는 a.jpg라는 Action이 없기 때문입니다.그리고 order 값 상승 순서에 따라 찾습니다. 마지막 Simple UrlHandler Mapping은 "/**"와 일치하기 때문에 반드시 일치하면 그림에 응답할 수 있습니다.
그림을 방문하고 겹겹이 일치해야 합니다.성능이 어떤지 모르겠습니다.
마지막으로 다시 한 번 설명하자면 방안 2, 방안 3은 정적 자원에 접근할 때 일치하는 (근사한) 총 차단기가 있으면 차단기를 걷는다.만약 차단에서 권한 검사를 실현한다면, 정적 파일에 대한 요청을 필터하는 데 주의해야 한다.
Dispatcher Servlet 차단 방법 *.do와 같은 URL 접두사는 상술한 문제를 저장하지 않습니다.접미사가 있는 게 편해요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Javaweb에서 양식 데이터를 가져오는 다양한 방법Javaweb에서 양식 데이터를 가져오는 몇 가지 방법 1. 키 값이 맞는 형식으로 폼 데이터를 얻는다 getParameter(String name): 키를 통해 value를 반환합니다. getParameterVal...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.