springmvc拦截器定义
》我们可以一个接口HandlerInterceptor,重写三个方法
》下面解释三个方法:
方法之前
方法后,渲染页面之前
渲染页面后
springmvc拦截器跟struts2拦截器的区别
》struts2是一串拦截器链,可以在任意action前后进行处理,是真正的全局拦截器
》springmvc的拦截器是针对HandlerMapping进行拦截的设置。啥意思呢?还记得springmvc的架构图吗,通过映射器映射到handler,然后返回给前端控制器两种东西:拦截器链和Handler,这里的拦截器链就是用来处理handler的 ,至于拦截器链为什么会处理这个handler?凡是映射器映射成功的handler都会被该拦截器链所拦截
》springmvc可以配置类似像struts2的全局拦截器,配置全局拦截器后springmvc框架能自动将其注入到每一个映射器中
非注解映射器注入拦截器(不推荐使用):
配置全局拦截器链(推荐使用):
多个拦截器的方法执行顺序
》之前学的struts2拦截器的执行顺序其实是比较简单的,就放行的前处理和后处理,但springmvc就不太一样了
》现在我们定义两个拦截器,测试他们不太放行情况的执行顺序: