0
我有一个要求,在2.5春截获所有的请求。我不想用HandlerInterceptor
拦截请求,因为它需要与上下文中的文件每SimpleUrlHandlerMapping
豆配置。是否有另一种方法来拦截所有的请求而不使用HandlerInterceptor
?如何在Spring中不使用HandlerInterceptor拦截所有控制器的所有请求?
我有一个要求,在2.5春截获所有的请求。我不想用HandlerInterceptor
拦截请求,因为它需要与上下文中的文件每SimpleUrlHandlerMapping
豆配置。是否有另一种方法来拦截所有的请求而不使用HandlerInterceptor
?如何在Spring中不使用HandlerInterceptor拦截所有控制器的所有请求?
您可以实现一个过滤器,它在web.xml中映射到DispatcherServlet的。那么你应该能够截获所有对Spring MVC的请求。
简而言之:
的实现添加过滤器到web.xml
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>mypackage.MyFilter</filter-class>
</filter>
,然后将其映射到的DispatcherServlet(servlet-名称应为春季调度servlet的定义相同。
<filter-mapping>
<filter-name>MyFilter</filter-name>
<servlet-name>DispatcherServlet</servlet-name>
</filter-mapping>
如果您需要在过滤器中访问Spring的ApplicationContext,使用静态方法
org.springframework.web.context.ContextLoader.getCurrentWebApplicationContext()
thanx的帮助 – 2012-01-05 11:12:46