第12章 Filter详解-【千锋教育】Java Web开发实战

2023-03-21
| 37页
| 112人阅读
| 0人下载
教辅

内容正文:

第12章 Filter详解 Filter概述 Filter开发 Filter的链式调用 Filter的应用 Filter概述 Filter开发 ☞点击查看本小节知识架构 Filter的链式调用 12.2 12.3 12.1 Filter的应用 12.4 ☞点击查看本小节知识架构 ☞点击查看本小节知识架构 理解 掌握 掌握 掌握 理解Filter的概念 1 掌握Filter常用的API的使用 4 2 掌握Filter的工作原理 3 掌握Filter的创建及配置 学习目标 销售额 掌握知识 理解知识 熟悉知识 了解知识 2.5 2.5 2.5 2.5 12.1 Filter概述 12.1.1 Filter简介 返回目录 12.1.2 Filter相关API 12.1.3 Filter的生命周期 12.1 Filter概述 12.1.1 Filter简介 Filter被称作过滤器,当用户访问Web资源时,它能够对服务器调用Web资源的过程进行拦截,从而实现一些特定的功能,比如设置字符编码、敏感词过滤等。 一个Filter就是一个运行在服务器中的特殊Java类,当用户的请求到达目标Web资源之前,Filter可以检查ServletRequest对象,修改请求头和请求正文的内容,或者对请求进行预处理。当执行结果响应到客户端之前,Filter可以检查ServletResponse对象,修改响应头和响应正文。Filter的拦截过程如图所示。 图中展示了Filter的拦截过程,具体来讲,Filter的拦截过程可进一步细分为如下几个步骤。 12.1 Filter概述 12.1.1 Filter简介 (1)当客户端发送请求时,服务器判断请求的资源是否匹配有相应的过滤器,如果有,服务器将请求交给过滤器处理。 (2)过滤器可以修改请求信息或对请求进行预处理,然后将请求直接返回或转发给目标资源。 (3)如果请求被转发给目标资源,则由目标资源对请求进行处理后做出响应。 (4)响应被转发给过滤器。 (5)过滤器可根据业务需要对响应的内容进行修改。 (6)服务器将响应内容发送给客户端。 12.1 Filter概述 12.1.1 Filter简介 在Web开发中,不同的Web资源中的相同操作可以放到同一个Filter中来完成,当这些Web资源被访问时,对应的Filter会帮助它们实现重复的功能。这样一来,相关Web资源中的重复代码减少,程序的性能提高。 12.1 Filter概述 12.1.2 Filter相关API 1. Filter接口 Filter接口位于javax.servlet包中,它定义了服务器与Filter程序交互时遵循的协议。所有Filter类必须先实现Filter接口,然后才能被服务器识别,进而实现过滤器的功能。Filter接口共提供了三种方法,具体如表所示。 在实际开发中,一般通过实现Filter接口的形式编写Filter程序。 12.1 Filter概述 12.1.2 Filter相关API 2. FilterConfig接口 FilterConfig接口用于封装Filter程序的配置信息,在Filter初始化时,服务器将FilterConfig对象作为参数传给Filter对象的初始化方法。 FilterConfig接口共提供了四种方法,具体如表所示。 12.1 Filter概述 12.1.2 Filter相关API 3. FilterChain接口 FilterChain接口主要用于调用过滤器链中的下一个过滤器,如果当前过滤器是过滤器链中的最后一个,那么就直接调用目标资源。 FilterChain接口只有1个方法,具体如下所示。 在实际应用中,FilterChain对象被作为参数传给Filter对象的doFilter()方法,如有需要,直接在doFilter()方法体中调用即可。 12.1 Filter概述 12.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()方法只被执行一次。 12.1 Filter概述 12.1.3 Filte

资源预览图

第12章 Filter详解-【千锋教育】Java Web开发实战
1
第12章 Filter详解-【千锋教育】Java Web开发实战
2
第12章 Filter详解-【千锋教育】Java Web开发实战
3
第12章 Filter详解-【千锋教育】Java Web开发实战
4
第12章 Filter详解-【千锋教育】Java Web开发实战
5
第12章 Filter详解-【千锋教育】Java Web开发实战
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。