《Java网站开发》教学资源(PPT讲稿)第9章 过滤器和监听器技术

第9章过滤器和监听器技术 过滤器( Filter)和监听器( Listener)是两种特殊的 Servlet技术。过滤器可以对用户的请求信息和响应信息 进行过滤,常被用于权限检查和参数编码统一设置等。 监听器可以用来对Web应用进行监听和控制的,增强 Web应用的事件处理能力。 本章主要介绍过滤器和监听器的编程接口、基本结 构、信息配置、部署和运行,最后通过案例说明过滤器 和监听器的典型应用
第9章 过滤器和监听器技术 过滤器(Filter)和监听器(Listener)是两种特殊的 Servlet技术。过滤器可以对用户的请求信息和响应信息 进行过滤,常被用于权限检查和参数编码统一设置等。 监听器可以用来对Web应用进行监听和控制的,增强 Web应用的事件处理能力。 本章主要介绍过滤器和监听器的编程接口、基本结 构、信息配置、部署和运行,最后通过案例说明过滤器 和监听器的典型应用

第9章过滤器和监听器技术 91过滤器技术 92监听器技术 本章小结
第9章 过滤器和监听器技术 9.1 过滤器技术 9.2 监听器技术 本章小结

91过滤器技术 过滤器是在服务器上运行的,且位于请求与响应 中间的起过滤功能的程序,其工作原理如图9-1所示 浏览器 请求/ request 响应/ response 过滤器1 过滤器2 过滤器31 JSP、 Servlet、HTML等 web容器
9.1 过滤器技术 过滤器是在服务器上运行的,且位于请求与响应 中间的起过滤功能的程序,其工作原理如图9-1所示。 浏览器 Web 容器 过滤器 1 过滤器 2 过滤器 3 JSP、Servlet、HTML 等 请求/request 响应/response

91过滤器技术 在与过滤器相关联的 Servlet或JSP运行前,过滤器 先执行。一个过滤器可以与一个或多个 Servlet或SP绑 定,可以检査访问这些资源的请求信息。检査请求信 息后,过滤器可以选择下一个动作: 正常调用请求的资源(即 Servlet或JSP) 用修改后的请求信息调用请求资源。 调用请求的资源,修改请求响应,再将响应发送到 客户端。 禁止调用该资源,将请求重定向到其它的资源,或 返回一个特定的状态码,或产生替换的输出
9.1 过滤器技术 在与过滤器相关联的Servlet或JSP运行前,过滤器 先执行。一个过滤器可以与一个或多个Servlet或JSP绑 定,可以检查访问这些资源的请求信息。检查请求信 息后,过滤器可以选择下一个动作: • 正常调用请求的资源(即Servlet或JSP). • 用修改后的请求信息调用请求资源。 • 调用请求的资源,修改请求响应,再将响应发送到 客户端。 • 禁止调用该资源,将请求重定向到其它的资源,或 返回一个特定的状态码,或产生替换的输出

91过滤器技术 本节主要内容: 91.1过滤器编程接口 912设计过滤器 91.3案例一一基于过滤器的用户权限控制 91.4案例一一基于过滤器的中文乱码解决 915案例一一禁止未授权的|P访问站点过滤器
9.1 过滤器技术 9.1.1 过滤器编程接口 9.1.2 设计过滤器 9.1.3 案例——基于过滤器的用户权限控制 9.1.4 案例——基于过滤器的中文乱码解决 9.1.5 案例——禁止未授权的IP访问站点过滤器 本节主要内容:

91.1过滤器编程接口 进行过滤器编程用到 javax. servlet. jar中的一组接 口和类,表9-1只列出了与过滤器设计有关的三个重要 接口,而与 Servlet编程有关的接口、类请参考第6章。 表9- I Servlet编程接口 功能 类和接口 filter实现 javax. servlet Filter Filter配置 javax. servlet Filter Config Filter链 javax. servlet Filter Chain
9.1.1 过滤器编程接口 进行过滤器编程用到javax.servlet.jar中的一组接 口和类,表9-1只列出了与过滤器设计有关的三个重要 接口,而与Servlet编程有关的接口、类请参考第6章。 表9-1 Servlet编程接口 功能 类和接口 Filter实现 javax.servlet.Filter Filter配置 javax.servlet.FilterConfig Filter链 javax.servlet.FilterChain

接口 Filter的主要方法: (1)init(方法 方法原型: public void init(Filter Config filterConfig) throws ServletException仆} 该方法用于初始化过滤器,并获取 web .xm|文件中 配置的过滤器初始化参数,默认情况下,服务器启动 时就会加载过滤器,init方法就会执行。 该方法有一个 Filter Config类型的参数,利用它可以 获取在 web. xm|中设置的过滤器的初始化参数值。获取 初始参数值的方法为: public String getInitParameter(String para Name 过滤器的信息配置将在91.3节中介绍
接口Filter的主要方法: (1)init()方法 方法原型: public void init(FilterConfig filterConfig) throws ServletException{} 该方法用于初始化过滤器,并获取web.xml文件中 配置的过滤器初始化参数,默认情况下,服务器启动 时就会加载过滤器,init方法就会执行。 该方法有一个FilterConfig类型的参数,利用它可以 获取在web.xml中设置的过滤器的初始化参数值。获取 初始参数值的方法为: public String getInitParameter(String paraName) 过滤器的信息配置将在9.1.3节中介绍

接口 Filter的主要方法: (2) dofilter()方法 方法原型: public void doFilter( Servletrequest request, Servletresponse response Filter Chain filter chain) throws lOEXception Servlet Exception 当请求地址和过滤地址匹配时将进行过滤操作,该方法 被执行。 第1个参数为 Servletrequest对象,此对象给过滤器提供了 对请求信息(包括表单数据、Cookie和HTTP请求头)的完全 访问。 第2个参数为 IServletResponse,用于响应请求 第3个参数为 Filter Chain对象,使用该参数对象调用 Servlet、 JSP页面或者过滤器链中的下一个过滤器。 调用方法为: public void doFilter(ServletRequest request, ServletResponse response)
接口Filter的主要方法: (2)doFilter()方法 方法原型: public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException,ServletException{} 当请求地址和过滤地址匹配时将进行过滤操作,该方法 被执行。 第1个参数为ServletRequest对象,此对象给过滤器提供了 对请求信息(包括表单数据、Cookie和HTTP请求头)的完全 访问。 第2个参数为ServletResponse,用于响应请求。 第3个参数为FilterChain对象,使用该参数对象调用Servlet、 JSP页面或者过滤器链中的下一个过滤器。 调用方法为: public void doFilter(ServletRequest request, ServletResponse response)

接口 Filter的主要方法: (3) destroy()方法 方法原型: public void destroy Servlet容器在销毁过滤器实例前调用该方法,这 个方法中可以释放 Servlet过滤器占用的资源 性质等同于 Servlet的 destory()方法。 这些方法构成了过滤器对象的生命周期:创建、 执行过滤方法、销毁
接口Filter的主要方法: (3)destroy()方法 方法原型:public void destroy() Servlet容器在销毁过滤器实例前调用该方法,这 个方法中可以释放Servlet过滤器占用的资源。 性质等同于Servlet的destory()方法。 这些方法构成了过滤器对象的生命周期:创建、 执行过滤方法、销毁

912设计过滤器 过滤器的设计需要实现 Filter接口,并要根据处 理的功能需要,实现 filter接口中的3个方法: 1 public void init(Filter Config filter Config) throws ServletException 2 public void do Filter Servlet request request ServletResponse response Filter Chain filterChain)throws lOException, ServletException 3 public void destroyo
9.1.2 设计过滤器 过滤器的设计需要实现Filter接口,并要根据处 理的功能需要,实现Filter接口中的3个方法: 1、public void init(FilterConfig filterConfig) throws ServletException 2、public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException,ServletException 3、public void destroy()
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 长春大学:《计算机应用基础》课程教学资源(PPT课件讲稿)第一章 计算机基础知识(崔天明).ppt
- 合肥工业大学:《网络安全概论》课程教学资源(PPT课件讲稿)第2讲 密码学简介(主讲:苏兆品).ppt
- 《计算机网络与因特网 Computer Networks and Internets》课程教学资源(PPT课件讲稿)Part II 物理层(信号、媒介、数据传输).ppt
- 东南大学:《数据结构》课程教学资源(PPT课件讲稿)第三章 栈与队列.ppt
- 清华大学:An Efficient Trie-based Method for Approximate Entity Extraction with Edit-Distance Constraints.pptx
- 四川大学:《操作系统 Operating System》课程教学资源(PPT课件讲稿)Chapter 5 互斥与同步(Mutual Exclusion and Synchronization)5.4 Monitors 5.5 Message Passing 5.6 Readers/Writers Problem.ppt
- 上海交通大学:《程序设计》课程教学资源(PPT课件讲稿)第6章 过程封装——函数.ppt
- 《3ds Max》教学资源(PPT课件)第4章 基本三维模型的创建.ppt
- 南京大学:复杂系统学习(PPT课件讲稿)佩特里网 Petri Nets.pptx
- 香港科技大学:《软件开发》教学资源(PPT课件讲稿)Functions.ppt
- 《计算机文化基础》课程教学资源(PPT课件讲稿)第二章 Windows XP操作系统.ppt
- 电子科技大学:《计算机操作系统》课程教学资源(PPT课件讲稿)第五章 设备管理.ppt
- 山东大学:语音识别技术(PPT课件讲稿)自动语音识别 Automatic Speech Recognition.pptx
- 数据集成 Data Integration(PPT讲稿)成就与展望 Achievements and Perspectives.ppt
- 北京师范大学:拓扑序及其量子相变(PPT课件讲稿)Topological Order and its Quantum Phase Transition.ppt
- 计算机系教学资源(PPT课件讲稿)信息安全与保密技术.ppt
- 汤姆森 Thomson:利用Web of Knowledge对课题进行检索、分析、跟踪、管理.ppt
- 西安电子科技大学:《微机原理与接口技术》课程教学资源(PPT课件讲稿)第九章 定时/计数器8253.pptx
- 同济大学:聚类分析(PPT课件讲稿)Cluster Analysis.pptx
- 《数字图像处理学》课程教学资源(PPT课件讲稿)第2章 图像、图像系统与视觉系统.pptx
- 北京师范大学现代远程教育:《计算机应用基础》课程教学资源(PPT课件讲稿)第2章 计算机网络应用.ppsx
- 清华大学:A Feature Weighting Method for Robust Speech Recognition(Speech Activities in CST).ppt
- 西安电子科技大学:《神经网络与模糊系统》课程教学资源(PPT课件讲稿)Chapter 6 结构和平衡 Architecture and Equilibria.ppt
- 北京大学:人工神经网络(PPT课件讲稿)Artificial Neural Networks,ANN.ppt
- 《计算机组成原理》课程教学资源(PPT课件讲稿)第4章 处理器(CPU).ppt
- 吉林大学:《C语言》课程教学资源(PPT课件讲稿)第6章 利用数组处理批量数据.ppt
- 《Vb程序设计教程》课程教学资源(PPT课件讲稿)第三章 VB语言基础.pps
- 安徽理工大学:《汇编语言》课程教学资源(PPT课件讲稿)第七章 高级汇编语言技术(主讲:李敬兆).ppt
- 《软件质量与测试》课程教学资源(PPT大纲课件,目录版).pptx
- 香港理工大学:Discovering Classification Rules.ppt
- 北京科技大学:物联网知识体系和学科建设(PPT讲稿,王志良).ppt
- 中国科学技术大学:《信号与图像处理基础 Signal and Image Processing》课程教学资源(PPT课件讲稿)傅里叶分析与卷积 Fourier Analysis and Convolution.pptx
- 沈阳理工大学:《单片机C语言应用程序设计》课程PPT教学课件(单片机C语言编程)04 C51编程设计(廉哲).pptx
- 《软件工程 Software Engineering》教学资源:课程教学大纲.pdf
- 上海交通大学:《编译器构造》课程教学资源(PPT讲稿,马融)Compiler.pptx
- 《数字图象处理》课程教学资源(PPT课件讲稿)第七章 邻域运算.ppt
- 北京航空航天大学:《数据挖掘——概念和技术(Data Mining - Concepts and Techniques)》课程教学资源(PPT课件讲稿)Chapter 03 Data Preprocessing.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第一章 概述(谢希仁).ppt
- 上海交通大学:Mining Massive Datasets(PPT讲稿).ppt
- 东南大学:《数据结构》课程教学资源(PPT课件讲稿)动态规划.pptx