8.1Filter概述8.1.3Filter的生命周期Filter的生命周期,是指一个Filter对象从创建到执行拦截再到销毁的过程。与Servlet类似,Filter也是通过其接口中定义的方法来实现这一过程。1.初始化阶段Filter的初始化阶段分为如下两个步骤。。1)创建Filter对象服务器在启动时,它会根据web.xml中声明的Filter顺序依次生成Filter对象。:2)执行init0方法创建Filter对象之后,服务器将调用initO方法对Filter对象进行初始化。在这个过程中,Filter对象使用服务器为其提供的FilterConfig对象,从web.xml文件中获取初始化的参数。在Filter的整个生命周期内,initO方法只被执行一次
8.1 Filter概述 8.1.3 Filter的生命周期 Filter的生命周期,是指一个Filter对象从创建到执行拦截再到销毁的过程。与Servlet类似,Filter 也是通过其接口中定义的方法来实现这一过程。 1. 初始化阶段 Filter的初始化阶段分为如下两个步骤。 • 1)创建Filter对象 服务器在启动时,它会根据web.xml中声明的Filter顺序依次生成Filter对象。 • 2)执行init()方法 创建Filter对象之后,服务器将调用init()方法对Filter对象进行初始化。在这个过程中,Filter对象 使用服务器为其提供的FilterConfig对象,从web.xml文件中获取初始化的参数。在Filter的整个生命周 期内,init()方法只被执行一次
8.1Filter概述8.1.3Filter的生命周期2.执行doFilterO方法·当客户端请求目标资源时,服务器会筛选出符合映射条件的Filter,并根据web.xml中的配置顺序依次调用它们的doFilterO方法。在对多个拦截器的调用过程中,当前过滤器通过FilterChain对象的doFilterO方法将请求传给下一个过滤器或其他资源。3.销毁阶段·当Web应用终止时,服务器调用destroyO方法来释放资源,然后销毁Filter对象
8.1 Filter概述 2. 执行doFilter()方法 • 当客户端请求目标资源时,服务器会筛选出符合映射条件的Filter,并根据web.xml中的配置顺序依 次调用它们的doFilter()方法。在对多个拦截器的调用过程中,当前过滤器通过FilterChain对象的 doFilter()方法将请求传给下一个过滤器或其他资源。 3. 销毁阶段 • 当Web应用终止时,服务器调用destroy()方法来释放资源,然后销毁Filter对象。 8.1.3 Filter的生命周期
8.2Filer开发返回目录Filter的创建8.2.18.2.2Filter的配置
8.2 Filer开发 8.2.1 Filter的创建 返回目录 8.2.2 Filter的配置
8.2Filter开发编写一个Filter程序主要分两步:首先要创建一个Filter类,使其实现javax.servlet.filter接口其次是将创建好的Filter类配置到Web应用中。,由于Eclipse开发工具集成了创建Filter类的相关操作,因此,下面通过Eclipse来演示如何实现一个Filter程序
8.2 Filter开发 • 编写一个Filter程序主要分两步, • 首先要创建一个Filter类,使其实现javax.servlet.filter接口, • 其次是将创建好的Filter类配置到Web应用中。 • 由于Eclipse开发工具集成了创建Filter类的相关操作,因此,下面通过Eclipse来演示如何实现一个 Filter程序
8.2Filter开发8.2.1Filter的创建·使用Eclipse创建Filter相对简单,具体步骤如下。:(1)打开Eclipse,新建Web工程chap08,右击工程名,在弹出的菜单中选择NEW一Filter命令,进入创建Filter的界面。:(2)在创建Filter的界面中,Javapackage文本框用于指定Filter所在的包名,这里输入chap08.filter,Classname文本框用于指定Filter的类名,这里输入TestFiltero1,Superclass文本框用于指定Filter的父类,这里暂不填写。单击Next按钮,进入配置Filter的界面。:(3)在配置Filter的界面中,Name文本框用于指定web.xml文件<filter-name>元素的内容,Filtermappings区域用于指定web.xml文件<url-pattern>元素的内容,这里采用默认的内容。单击Next按钮,进入下一个配置Filter的界面
8.2 Filter开发 8.2.1 Filter的创建 • (2)在创建Filter的界面中,Java package文本框用于指定Filter所在的包 名,这里输入chap08.filter,Class name文本框用于指定Filter的类名,这 里输入TestFilter01,Superclass文本框用于指定Filter的父类,这里暂不填 写。单击Next按钮,进入配置Filter的界面。 • 使用Eclipse创建Filter相对简单,具体步骤如下。 • (1)打开Eclipse,新建Web工程chap08,右击工程名,在弹出的菜单中选择NEW→Filter命令, 进入创建Filter的界面。 • (2)在创建Filter的界面中,Java package文本框用于指定Filter所在的包名,这里输入 chap08.filter,Class name文本框用于指定Filter的类名,这里输入TestFilter01,Superclass文本 框用于指定Filter的父类,这里暂不填写。单击Next按钮,进入配置Filter的界面。 • (3)在配置Filter的界面中,Name文本框用于指定web.xml文件<filter-name>元素的内容,Filter mappings区域用于指定web.xml文件<url-pattern>元素的内容,这里采用默认的内容。单击Next 按钮,进入下一个配置Filter的界面