我正在开发一个spring web应用程序。 我已将所有资源文件夹放在 webcontent 文件夹中,并在我的dispatcher.xml中配置它
<mvc:resources location="/asset/" mapping="/asset/**" />
我已将启动页面配置为以下
<mvc:view-controller path="/" view-name="Framework/start"/>
我的应用程序运行正常,所有资源也在加载但不是第一次运行。意思是当我在tomcat7上部署我的应用程序并且第一次点击url没有加载css时,我映射到控制器的href也无法正常工作但是一旦我登录并注销一切正常。
答案 0 :(得分:2)
经过大量努力后,我得出结论,问题不在于资源路径,而是问题是由于拦截器造成的。我添加的身份验证拦截器由于对资源的请求而被多次调用,并且因为在此之前没有创建会话,所以它返回false。 因此,我以下列方式从拦截器中排除对资源文件夹的任何调用 -
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/asset/**"/>
<bean class="com.model.AuthenticationInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
还有一件事 mvc:exclude-mapping 从春季3.2开始添加,所以需要添加架构&#34; http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd&#34 ;