`
grandboy
  • 浏览: 124922 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

多个Filter的执行具体情况

    博客分类:
  • JAVA
 
阅读更多
今天无意间看到一个博友写了filter执行情况。 我觉得他这个图画得很好。经过修改,就在此收藏一下吧。为了以后方便查阅。





public class TestFilter implements Filter {  

    public void doFilter(ServletRequest request, ServletResponse response, 
      FilterChain chain) throws IOException, ServletException {  
        //Code1 begin
        System.out.println("before invoke Filter's chain.doFilter() ..");  
        //Code1 end
        
        chain.doFilter(request, response);  
        
        //Code2 begin
        System.out.println("after invoke Filter's chain.doFilter() ..");  
        //Code2 end
    }
    
    public void init(FilterConfig filterConfig) throws ServletException {  
         System.out.println("Filter init()...");  
    }  
    public void destroy() {  
        
    }
  
} 
  • 大小: 19.9 KB
分享到:
评论

相关推荐

    Filter

    2. **Filter链**:多个Filter可以组成一个链,按照注册顺序依次执行。每个Filter完成自己的处理后,将请求传递给下一个Filter,直到达到最终的目标Servlet。 3. **配置Filter**:在Web应用的`web.xml`配置文件中,...

    postfix部署多个Content Filter的方法.docx

    总结来说,部署多个Content Filter在Postfix中是可行的,关键在于正确配置Postfix的`main.cf`和`master.cf`文件,确保邮件流经每个过滤器,并确保每个过滤器能够有效地执行其安全检查。这种灵活性允许管理员根据需要...

    filter优化

    在这个例子中,可以看到执行计划包含了多个步骤,如`SELECT STATEMENT`、`FILTER`、`HASH JOIN`、`PARTITION RANGE ALL`和`TABLE ACCESS FULL`等操作。这些操作的成本(Cost)和预计耗时(Time)都被列出,有助于...

    Interceptor与Filter的区别

    - **Filter**:在Servlet容器层面,多个Filter的执行顺序是由配置文件(web.xml)中的配置决定的。 - **Interceptor**:在框架层面,多个Interceptor的执行顺序则取决于配置文件(如Spring的配置文件)中的配置。 #...

    Filter以及Interceptor的区别

    4. **执行顺序**:多个Filter的执行顺序是由`web.xml`中的配置决定的。 5. **使用场景**:Filter常用于跨域资源共享(CORS)处理、登录验证、编码设置等。 #### 二、Interceptor概述 **Interceptor**(拦截器)是...

    讲述了如何制作一个检测是否已经登陆的filter

    这种做法极大地简化了对用户登录状态的管理,避免了在多个页面中重复同样的代码逻辑,提高了代码的整洁性和项目的可维护性。在实际开发中,根据不同的业务需求,Filter可以进一步扩展,实现更复杂的预处理逻辑,如...

    webfilter的教程

    这些文件名暗示了教程可能涵盖Struts2拦截器、Servlet和Filter的URL模式解析、监听器(`listener`)的使用,以及更多关于`Filter`的实例和教程。 `Struts2拦截器(Interceptor)`通常与`Filter`类似,用于增强MVC框架...

    direct show\DirectShow中Filter的开发基础

    DirectShow的Filter需要处理多线程问题,因为数据的处理可能会涉及多个并发操作。为了解决这些问题,DirectShow提供了以下机制: - **线程安全**:确保在多线程环境下Filter能够正确地执行其功能。 - **临界区...

    ffmpeg filter过滤器基础实例以及全面解析

    filter_complex的结构更为复杂,用户可以使用官方文档中描述的语法来精确控制多个过滤器的执行顺序和数据流。 FFmpeg的过滤器体系提供了高度的可扩展性,允许用户自定义过滤器。这涉及到对libavfilter库内部结构的...

    翻转图像的Transform Filter

    5. **多线程支持**:由于DirectShow可能在多个线程中调用`Transform`,Filter需要确保其代码是线程安全的。 在提供的源码文件中,`FlipFilter.cpp`包含了Filter的实现细节,`FlipFilter.def`定义了导出的函数和类,...

    替换敏感词的留言板加filter 和不加filter两种方案

    在这种情况下,敏感词的检测和替换工作通常会放在服务器端的业务逻辑代码中,比如在`jsp`或`servlet`中执行。当用户提交留言时,服务器接收到数据后,通过遍历用户输入并对比预定义的敏感词列表来判断是否存在...

    Filter过滤器(分类讨论,分类讲解)

    // 继续执行过滤链中的下一个Filter或目标资源 filterChain.doFilter(request, response); } public void init(FilterConfig config) throws ServletException { // 从配置文件中获取编码 String enc = ...

    spring-boot 过滤器 filter

    多个Filter可以组成一个过滤链,Spring Boot会根据`FilterRegistrationBean`的顺序进行执行。默认情况下,Spring Boot的内置Filter会先执行,然后是用户自定义的Filter。 总结,Spring Boot的过滤器机制提供了强大...

    Python库 | queryfilter-0.4.7-py2.py3-none-any.whl

    这个库的具体使用方法可能包括定义查询条件、应用过滤器、组合多个条件等。例如,如果`queryfilter`提供了一个名为`filter_data`的函数,你可以这样做: ```python from queryfilter import filter_data # 假设...

    ExtJS Filter 实现表格过滤

    ExtJS Grid还支持组合过滤,即同时应用多个过滤器,可以通过`filters`配置项定义一组过滤规则,Grid将根据这些规则同时筛选数据。 **6. 状态保存与恢复** 为了提高用户体验,可以实现过滤状态的保存与恢复,例如在...

    Web后端开发-使用Filter过滤器技术,实现访问量统计-方法二使用web.xml配置的方式

    要创建一个Filter,我们需要继承`javax.servlet.Filter`接口并实现其`doFilter()`方法。在这个方法里,我们可以添加统计代码,例如增加计数器。以下是一个简单的Filter实现示例: ```java import javax.servlet.*; ...

    Filter_kekou.zip

    由于描述没有提供更多的具体信息,我们将主要依赖文件列表来进一步解读。 标签为空,意味着没有额外的分类信息来指导我们理解压缩包的用途。 现在,让我们详细分析压缩包内的文件: 1. **thumbnail.jpg**:这是一...

    Filter Driver Development Guide

    1. **线程安全**: MiniFilter驱动必须是线程安全的,因为它的回调函数可能会在多个线程中并发执行。 2. **调试技巧**: 使用WinDbg等工具对MiniFilter进行调试,理解驱动运行时的行为。 3. **性能优化**: 避免在回调...

    商业编程-源码-利用 DirectShow 开发自己的 Filter.zip

    压缩包中的源代码很可能是为了演示如何实现上述过程的一个具体实例,可能包括一个或多个 Filter 示例,比如视频解码 Filter 或音频混音 Filter。通过学习这些示例,开发者可以更好地理解 DirectShow 的工作原理,并...

Global site tag (gtag.js) - Google Analytics