Spring mvc资源在首次运行时未加载

时间:2014-06-05 09:13:02

标签: css java-ee tomcat spring-mvc

我正在开发一个spring web应用程序。 我已将所有资源文件夹放在 webcontent 文件夹中,并在我的dispatcher.xml中配置它

 <mvc:resources location="/asset/" mapping="/asset/**" />

我已将启动页面配置为以下

<mvc:view-controller path="/" view-name="Framework/start"/>

我的应用程序运行正常,所有资源也在加载但不是第一次运行。意思是当我在tomcat7上部署我的应用程序并且第一次点击url没有加载css时,我映射到控制器的href也无法正常工作但是一旦我登录并注销一切正常。

1 个答案:

答案 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 ;