처음 실행 시 Spring mvc 리소스가 로드되지 않습니다.
-
26-12-2019 - |
문제
저는 스프링 웹 애플리케이션을 개발 중입니다.모든 리소스 폴더를 여기에 넣었습니다. 웹 컨텐츠 폴더를 만들고 내 Dispatcher.xml에서 구성했습니다.
<mvc:resources location="/asset/" mapping="/asset/**" />
시작 페이지를 다음과 같이 구성했습니다.
<mvc:view-controller path="/" view-name="Framework/start"/>
내 응용 프로그램이 제대로 실행되고 있으며 모든 리소스도 로드되지만 처음 실행에서는 로드되지 않습니다.tomcat7에 내 애플리케이션을 배포하고 처음으로 URL을 입력하면 CSS가 로드되지 않으며 컨트롤러에 매핑된 내 href도 작동하지 않지만 일단 로그인하고 로그아웃하면 모든 것이 잘 작동합니다.
해결책
많은 노력 끝에 문제는 리소스 경로에 있는 것이 아니라 문제가 인터셉터에 있다는 결론을 내렸습니다.내가 추가한 인증 인터셉터는 리소스에 대한 요청으로 인해 여러 번 호출되었으며 그 때까지 생성된 세션이 없었기 때문에 false를 반환했습니다.따라서 다음과 같은 방법으로 인터셉터에서 리소스 폴더에 대한 호출을 제외합니다.
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/asset/**"/>
<bean class="com.model.AuthenticationInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
그리고 임프 한 가지 mvc:제외 매핑 에서 추가됩니다 봄 3.2 이후 그래서 스키마를 추가해야 합니다."http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"
제휴하지 않습니다 StackOverflow