Recursos Spring MVC não carregam na primeira execução
-
26-12-2019 - |
Pergunta
Estou desenvolvendo um aplicativo web Spring.Coloquei toda a minha pasta de recursos em conteúdo web pasta e configurei em meu dispatcher.xml
<mvc:resources location="/asset/" mapping="/asset/**" />
Eu configurei minha página inicial da seguinte forma
<mvc:view-controller path="/" view-name="Framework/start"/>
Meu aplicativo está funcionando bem e todos os recursos também estão sendo carregados, mas não na primeira execução.Significa que quando eu implanto meu aplicativo no Tomcat7 e clico no URL pela primeira vez, o css não é carregado e meu href, que está mapeado para um controlador, também não está funcionando, mas quando estou logado e desconectado, tudo funciona bem.
Solução
Depois de muito esforço concluí que o problema não estava no caminho do recurso, mas no interceptador.O interceptor de autenticação que adicionei foi chamado diversas vezes devido à solicitação aos recursos e como não houve sessão criada até aquele momento ele estava retornando falso.Portanto, excluo quaisquer chamadas para a pasta de recursos do interceptor da seguinte maneira:
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/asset/**"/>
<bean class="com.model.AuthenticationInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
Também uma coisa imp mvc: mapeamento de exclusão é adicionado de primavera 3.2 em diante então é necessário adicionar o esquema "http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"