2016-10-12 2 views
0

내 WEB 구조에 정적 리소스를 해결할 수없는이 같은이 같은 WEB-INF

enter image description here

내 스프링 MVC의 설정 :

<mvc:resources location="/WEB-INF/static/" mapping="/static/**" /> 

그리고 내 서블릿 구성 :

<!-- Servlet Dispatcher --> 
<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/SpringMVC.xml</param-value> 
    </init-param> 
    <!-- 配置启动延时 --> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>SpringMVC</servlet-name> 
    <url-pattern>*.html</url-pattern> 
</servlet-mapping> 

웹 프로젝트를 다시 설정할 수없는 구성 정적 resrouce를 해결하지만, 내가 URL 패턴을 '/'로 변경하면

<servlet-mapping> 
     <servlet-name>SpringMVC</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 

웹에서 해결할 수 있습니다.

은 내가 url-pattern가 '/', 감사가 아닌 경우 정적 리소스를 해결하는 다른 방법이 있습니다 왜 알고 싶어 (● '◡'●)

답변

0

당신이 접미사 매핑 (*를 사용하는 경우.), Spring은 첫 번째 부분 만 사용합니다 (접미어 제외). 이것은 스프링에 의해 url-pattern (접미어 없음)의 just/index로 해석됩니다.

따라서 당신은 404

가 매핑 프로세스에 사용되는 것을 더 나은 설명을 봄 UrlPathHelper#getPathWithinServlet 매핑의 문서를 검색 할 수 : 현재 서블릿 매핑 문제를 해결하려면

서블릿 매핑 = "/*.html"; URI 패턴 요청 = "/a.html"

+0

서블릿 매핑 = "/*.html"에 시도했지만 내 바람둥이 시작에 실패했습니다. (T_T) –

+0

동일한 오류 스택 추적을 표시 할 수 있습니까? – mhasan

+0

또한 ViewResolver 접두어 및 접미사가 올바르게 구성되었는지 확인하십시오. – mhasan