我正在开发一个使用过滤器实现的spring-mvc应用程序:
javax.servlet.Filter
和拦截器扩展:
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
据我所知,Spring MVC的控制流程是这样的:
做一些测试我可以看到我的过滤器总是在preHandle拦截器方法之前执行。它似乎是DispatcherServlet之后的第一个执行的东西。没关系,但我找不到这种行为的原因。有个好解释的人?
谢谢!
更新:可能性:因为过滤器是在web.xml中定义的(比如DispatcherServlet)所以Filter在DispatcherServlet之前执行?
答案 0 :(得分:12)
完全没问题
Filter's
是Servlet规范的一部分。
Filters
会调用 Server(tomcat)
。拦截器由Spring
调用。