过滤器(Filter)
servlet过滤器作用:
1.对不符合要求的请求进行拦截,使之不能到达servlet
2.抽取公共的代码,对共同的业务进行抽离,对请求的数据进行加工
(例如设置编码格式、记录日志信息、鉴别用户是否登录等)
拦截器:
springmvc可以拦截过滤前端的请求,和过滤器的作用一样,但是拦截器只对经过Dispathcher的请求有效
拦截器 过滤器 Aop:抽取公共代码 拦截 过滤 鉴权
事务:只能用aop
springmvc 拦截器的实现
- 第一种方式
通过实现HandlerInterceptor接口,或继承HandlerInterceptor接口的实现类(如HandlerInterceptorAdapter)来定义。
- 第二种方式
通过实现WebRequestInterceptor接口,或继承WebRequestInterceptor接口的实现类来定义。
拦截器与过滤器的区别?
1.拦截器是基于Java反射机制,过滤器是基于函数回调
2.拦截器不依赖于servlet容器,过滤器依赖与servlet容器
3.拦截器只对action请求起作用,过滤器则可以对几乎所有的请求起作用
4.拦截器可以访问action上下文,值栈里的对象。
5.拦截器可以多次被调用,过滤器只能在容器初始化时被调用