Spring MVC使用DispatcherServlet
将控制路由到适当的Controller。但过滤器在哪里适合流量?如果我指定一个过滤器来执行会话管理或身份验证,是否会在DispatcherServlet之前调用过滤器?
我的困惑来自于它们都指定了URL模式。如果它们都提供相同的url模式会发生什么?
答案 0 :(得分:2)
这并不是Spring和Spring MVC特有的。通常,在 servlet之前,fitler总是被称为。如果有多个过滤器和一个与给定URL模式匹配的servlet,则首先按<filter-mapping>
定义的顺序执行所有过滤器,最后执行servlet。
通过这种方式,您可以动态修改请求,甚至可以完全忽略servlet。