Spring 3 mvc:资源导致mvc:拦截器多次运行

时间:2011-06-09 20:34:36

标签: spring spring-mvc interceptor

在Spring 3中使用下面的配置的MVC dispather-servlet.xml,似乎每次调用一个.js文件时拦截器都会被启动。

<mvc:interceptors>
    <bean class="com.something.SomeInterceptor" />
    </mvc:interceptors>

    <mvc:resources mapping="/js/**" location="/js/" />
    <mvc:resources mapping="/jsp/**" location="/jsp/" />

我的视图/ jsp调用四个.js,拦截器运行四次......

设置xml文件的正确方法是什么,以免发生这种情况?

感谢

1 个答案:

答案 0 :(得分:4)

实际上是请求JS文件的浏览器,因此正在向您的应用程序发出4个HTTP请求。您需要使用mvc:interceptor的“mapping”元素来选择拦截器将应用于的路径子集。例如:

<mvc:interceptors>
  <mvc:interceptor>
    <mapping path="/secure/*"/>
    <bean class="org.example.SecurityInterceptor" />
  </mvc:interceptor>
</mvc:interceptors