4

我在我的应用程序上下文中配置了一个拦截器,我想映射到 Web 应用程序的根目录(“/”)。

<mvc:interceptors>
    <bean class="com.example.SslInterceptor" />
    <mvc:interceptor>
        <mvc:mapping path="/" />
        <mvc:mapping path="/login" />
        <bean class="com.example.SslInterceptor" />
    </mvc:interceptor>
</mvc:interceptors>

但是,虽然拦截器是为“/login”调用的,但它不是为“/”调用的。请帮忙

4

2 回答 2

3

请更改 servlet 配置 xml 文件中的拦截器配置,如下所示:

<mvc:annotation-driven/>
<mvc:default-servlet-handler/>

<mvc:interceptors>
  <mvc:interceptor>
    <mvc:mapping path="/**"/>
    <bean class="de.scrappy.web.TestInterceptor"/>
  </mvc:interceptor>
</mvc:interceptors>
于 2012-12-11T08:52:53.147 回答
0

你真的只想映射根路径还是你的意思是'/ *'?无论如何,以下配置适用于我使用 Spring 3.1.1,DispatcherServlet 映射到 web.xml 中的根 ('/'):

<mvc:annotation-driven/>
<mvc:default-servlet-handler/>

<mvc:interceptors>
  <mvc:interceptor>
    <mvc:mapping path="/"/>
    <bean class="de.scrappy.web.TestInterceptor"/>
  </mvc:interceptor>
</mvc:interceptors>

您使用的是哪个版本的 Spring 以及 Spring 的 DispatcherServlet 是如何映射的?并注意TestInterceptorimplements HandlerInterceptor,我不知道是否WebRequestInterceptors有不同的处理方式。

于 2012-08-30T10:40:08.410 回答