网站建设 之 AOP,cookie登录保持

拦截机制有三种:

1. 过滤器(Filter)能拿到http请求,但是拿不到处理请求方法的信息。

2. 拦截器(Interceptor)既能拿到http请求信息,也能拿到处理请求方法的信息,但是拿不到方法的参数信息。

3. 切片(Aspect)能拿到方法的参数信息,但是拿不到http请求信息。

网站建设 之 AOP,cookie登录保持

什么意思呢?

  • 作用域不同
    • 过滤器依赖于servlet容器,只能在 servlet容器,web环境下使用
    • 拦截器依赖于spring容器,可以在spring容器中调用,不管此时Spring处于什么环境
  • 细粒度的不同
    • 过滤器的控制比较粗,只能在请求进来时进行处理,对请求和响应进行包装
    • 拦截器提供更精细的控制,可以在controller对请求处理之前或之后被调用,也可以在渲染视图呈现给用户之后调用

 何时使用拦截器?何时使用过滤器?

  1. 如果是非spring项目,那么拦截器不能用,只能使用过滤器。
  2. 如果是处理controller前后,既可以使用拦截器也可以使用过滤器。
  3. 如果是处理dispaterServlet前后,只能使用过滤器。