SpringMVC 차단기가 정적 리소스를 차단하지 않는 세 가지 방법
방안 1. 차단기에 정적 자원에 대한 필터링을 하지 않는 것을 추가합니다 (spring-mvc.xml 관련)
<mvc:resources location="/" mapping="/**/*.js"/>
<mvc:resources location="/" mapping="/**/*.css"/>
<mvc:resources location="/assets/" mapping="/assets/**/*"/>
<mvc:resources location="/images/" mapping="/images/*" cache-period="360000"/>
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**/*"/>
<mvc:exclude-mapping path="/**/fonts/*"/>
<mvc:exclude-mapping path="/**/*.css"/>
<mvc:exclude-mapping path="/**/*.js"/>
<mvc:exclude-mapping path="/**/*.png"/>
<mvc:exclude-mapping path="/**/*.gif"/>
<mvc:exclude-mapping path="/**/*.jpg"/>
<mvc:exclude-mapping path="/**/*.jpeg"/>
<mvc:exclude-mapping path="/**/*login*"/>
<mvc:exclude-mapping path="/**/*Login*"/>
<bean class="com.luwei.console.mg.interceptor.VisitInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>
방안 2. 기본 정적 자원 처리 Servlet을 사용하여 정적 자원 처리 (spring-mvc.xml, web.xml 관련)spring-mvc.xml에서 기본 서브렛 사용
<mvc:default-servlet-handler/>
웹에서xml에서 정적 자원 처리 증가
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
<url-pattern>*.css</url-pattern>
<url-pattern>/assets/*"</url-pattern>
<url-pattern>/images/*</url-pattern>
</servlet-mapping>
하지만 현재 설정은 Spring의 Dispatcher 앞에 있어야 합니다.시나리오 3, Spring의 전역 차단 설정을 *로 수정합니다.do의 차단 (웹.xml 관련)
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
이렇게 설정하면 Spring은''으로만 설정됩니다.do'마지막 요청을 처리하고 정적 자원을 더 이상 유지하지 않습니다.이 세 가지 방안에 대한 우열 분석:
첫 번째 방안은 설정이 비교적 비대하고 여러 개의 차단기가 있을 때 파일 줄 수를 증가하므로 사용하는 것을 추천하지 않는다.두 번째 방안은 기본 Servlet을 사용하여 자원 파일에 접근하고 Spring은 모든 요청을 차단한 다음에 자원 파일을 기본 Sevlet으로 처리하여 성능상 손실이 적다.세 번째 시나리오 Spring은''으로 처리됩니다.do'마지막 접근은 성능적으로는 더욱 효율적이지만, 재접근 경로에서는 반드시'으로.do'엔딩, URL이 점잖지 않습니다.
상술한 바를 종합하면, 제2와 제3의 중안을 사용하는 것을 추천한다.
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
springmvc application/octet-stream problemmistake: Source code: Solution: Summarize: application/octet-stream is the original binary stream method. If the convers...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.