Ресурсы Spring MVC не загружаются при первом запуске
-
26-12-2019 - |
Вопрос
Я разрабатываю весеннее веб-приложение.Я поместил все свои ресурсы в папку веб-контент папку и настроил ее в своем диспетчере.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"