Filter过滤器和intercepter拦截器的异同

    最近太忙也没怎么继续学习框架的知识,所以今天趁着一点空余时间继续往下学了一点,我就把一些老师讲的知识汇总一下:

相同的:①都可以拦截请求 ②都可以影响程序的执行流程

不同点:

          1.拦截范围:filter---范围更广,拦截所有的对于服务器资源的访问

                             intercepter:指定拦截,只拦截对于action请求

         2.调用次数:filter---一次请求一次拦截

                           intercepter:一次请求可多次调用

         3.servlet依赖:filter---完全依赖于servlet容器

                           intercepter---不依赖于servlet容器,完全无关

         4.实现方式:filter---基于函数的回调

                          intercepter--基于java的反射(代理)的实现

         5.ActionContext:filter---不支持ActionContext和valuestack

             intercepter---支持ActionContext和valuestack以及valuestack的修改(通过get,set方法)

      tip:没事的时候记一记

你可能感兴趣的:(struts2)