我在我的应用程序上下文中配置了一个Interceptor,我希望将其映射到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”时,它不是“/”。请帮忙
答案 0 :(得分:3)
请更改servlet config 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>
答案 1 :(得分:0)
您真的只想映射根路径,还是指'/ *'? 无论如何,以下配置适用于我使用Spring 3.1.1,DispatcherServlet映射到web.xml中的root('/'):
<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是如何映射的?
请注意TestInterceptor
实施HandlerInterceptor
,我不知道WebRequestInterceptors
处理方式是否不同。