赞
踩
写在前面:
记录自己的SpringMVC学习之旅,若看不懂则建议先看前几篇博客,详细代码可在我的Gitee仓库ssm-learning克隆下载学习使用!
拦截器(Interceptor)类似于Servlet中的过滤器Filter,用于对处理器进行预处理和后处理。
将拦截器按一定顺序连接成一条链,这条链称为拦截器链(Interceptor Chain)。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用,这也是AOP思想的体现。
区别 | 使用范围 | 配置 | 拦截范围 |
---|---|---|---|
过滤器Filter | 是Servlet规范一种,可在任何Java Web项目使用 | 在web.xml文件中的url-pattern 中配置/* |
只有在配置后才对所有访问资源拦截 |
拦截器Interceptor | 属于SpringMVC独有的,只可在使用其框架时使用 | 在SpringMVC.xml文件中配置mvc:mapping path=" "/> |
在配置之后才可对所有资源进行拦截,但可通过<mvc:exculde-mapping path=""/> 标签排除不需要拦截部分 |
拦截器都是自定义的,但都要实现接口HandlerInterceptor,一般需要重写三个方法,即:
注意:这三个方法都是AOP原理的具体体现,目标方法为切点,controller中方法为切面
执行流程:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。