SERVLET过滤器

在这里插入图片描述

在这里插入图片描述

SERVLET过滤器

全球因特网用户使用不同类型的Web浏览器访问应用服务器上存储的Web应用程序。每个浏览器根据对应的Web浏览器窗口中的设置显示应用程序中的信息。Web应用程序可能会有一些客户机的Web浏览器不支持的HTML标记或功能。这种情况下,应用程序在客户机的Web浏览器中可能运行,可能不运行,还可能生成不需要的输出。为了避免这种问题,在调用servlet之前需要识别浏览器的类型和向Web应用程序发送请求的客户机和其他特定的信息。可以使用servlet过滤器在调用特定servlet处理请求之前检索浏览器的类型和其他客户机信息。识别出浏览器类型和客户机信息后,可以自定义应用程序的输出,以便在不同浏览器中查看该输出。

servlet过滤器是一种截取客户机和服务器之间的请求和向的对象。过滤器能修改Web客户机段所发送请求的标头和内容,并将其转发给目标servlet。过滤器还能截取并操作servlet所返回响应的标头和内容。servlet过滤器对象与servlet不同,因为其只向其他Web应用程序传输请求和响应,本身不处理请求也不生成响应。servlet过滤器作为独立的程序开发,可以附加到各种Web应用程序上。


在这里插入图片描述

1. 使用过滤器的优点

servlet过滤器监控发送给servlet应用程序处理的请求和servlet返回给客户机的响应。使用servlet过滤器的各种优点有:

  1. 可以识别Web客户端所发送请求的类型,如HTTP和FTP,然后调用需要处理该请求的servlet。
  2. 使用servlet过滤器可以在客户机访问servlet之前就使客户机无效。
  3. 可以从请求参数中检索用户信息来验证用户。
  4. 可以使用servlet过滤器识别关于MIME类型和请求的其他标头内容的信息。然后可以使用过滤器将MIME类型转换成与servlet兼容的类型。
  5. 可以使用servlet过滤器帮助servlet与外部资源通信。例如,可以使用过滤器注册数据库驱动程序,以便servlet使用该驱动程序进行数据库连接。
  6. 可以使用servlet过滤器在将响应发送给客户机之前截取并压缩响应。还可以在将响应返回给客户机之前在过滤器中进行加密。

在这里插入图片描述

2. 编写过滤器

您可以开发servlet数据库来执行各种功能,如计算servlet的请求处理时间、识别发送响应的浏览器的类型以及识别用户所发送内容的MIME类型。可以用过个过滤器过滤客户机请求的信息。这些过滤器即组成了过滤器链。如果应用程序使用一组过滤器来过滤请求和响应,则需要在部署时就显式隐射调用这些过滤器及其目标servlet的顺序。


在这里插入图片描述

3. 创建过滤器

Servlet API提供了javax.servlet包的Filter接口、FilterConfig接口和FilterChain接口,可用于开发过滤器。要开发过滤器,需要在过滤器类中实现Filter接口。Filter接口定义了Web容器为管理过滤器的生命周期而调用的方法。下表描述了过滤器需要重写的javax.servlet.Filter接口的各种方法。

方法描述
Public void int ( FilterConfig filt_cnfg ) throws ServletException初始化过滤器。Web容器通过将包含过滤器初始化信息FilterConfig接口的对象来调用此方法。
Public void doFilter ( ServletRequest serv_req, ServletResponse serv_resp, FilterChain filter_chain) throws IOException,Servlet

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/460085.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【人工智能】文本嵌入:向量存储与数据查询的智慧交织(12)

在当今信息激增的时代,将中文存储到向量数据库(如Redis等)并实现向量检索,正成为解决日常应用中文信息处理难题的关键利器。这项技术不仅赋予计算机对中文语义的理解能力,更让我们能够以更智能、高效的方式处理和检索中…

红队打靶练习:GLASGOW SMILE: 1.1

目录 信息收集 1、arp 2、nmap 3、nikto 4、whatweb 目录探测 1、gobuster 2、dirsearch WEB web信息收集 /how_to.txt /joomla CMS利用 1、爆破后台 2、登录 3、反弹shell 提权 系统信息收集 rob用户登录 abner用户 penguin用户 get root flag 信息收集…

深度解析 Netty 架构与原理

一共 28661字,耐心看完。 在阅读本文前最好有 Java 的 IO 编程经验(知道 Java 的各种 IO 流),以及 Java 网络编程经验(用 ServerSocket 和 Socket 写过 demo),并对 Java NIO 有基本的认识&…

深入探索 Express.js 的高级特性

引言 Express.js 是一个基于 Node.js 平台的 Web 开发框架,旨在提供一种简单、易于使用的方式来创建 Web 应用程序。由于其灵活性和可扩展性,它已经成为了 Node.js 社区最受欢迎的框架之一。在本文中,我们将重点介绍 Express.js 的高级特性&…

javascript原型

为了减少内存使用率可以使用原型对象 <script>//构造函数 公共的属性和方法 封装到Star 构造函数里面了//公共的属性写到 构造函数里面function Star(uname,age){this.unameunamethis.ageagethis.singfunction(){console.log(唱歌);}}const ldhnew Star(刘德华,18)const…

51单片机之数码管显示表白数字篇

朝菌不知晦朔 蟪蛄不知春秋 眼界决定境界 CSDN 请求进入专栏 是否进入《51单片机专栏》? 确定 目录 数码管的简介 数码管引脚定义 数码管的原理图 74HC245 代码实现 静态数码管的显示 动态数码管的显示 数码管实现表白画面 数码管的简介 L…

学习Android的第七天

目录 Android EditText 输入框 设置默认提示文本 范例 获得焦点后全选组件内所有文本内容 范例 限制EditText输入类型 android:inputType 值列表 范例 设置最小行&#xff0c;最多行&#xff0c;单行&#xff0c;多行&#xff0c;自动换行 范例 设置文字间隔 范例 …

通用的网站炫酷底部美化代码分享

网站炫酷底部美化代码介绍 这段代码采用了最新的前端技术&#xff0c;确保在各种浏览器和设备上都能完美展现。它包含响应式设计元素&#xff0c;这意味着无论用户是通过电脑、平板还是手机访问您的网站&#xff0c;底部都能呈现出最佳的效果。 此外&#xff0c;我们还特别注…

【51单片机】实现一个动静态数码管显示项目(超全详解&代码&图示)(5)

前言 大家好吖&#xff0c;欢迎来到 YY 滴单片机 系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过单片机的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY…

海外云手机——平台引流的重要媒介

随着互联网的飞速发展&#xff0c;跨境电商、短视频引流以及游戏行业等领域正经历着迅猛的更新换代。在这个信息爆炸的时代&#xff0c;流量成为至关重要的资源&#xff0c;而其中引流环节更是关乎业务成功的关键。海外云手机崭露头角&#xff0c;成为这一传播过程中的重要媒介…

STM32/C51开发环境搭建(KeilV5安装)

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统&#xff0c;与汇编相比&#xff0c;C语言在功能上、结构性、可读性、可维护性上有明显的优势&#xff0c;因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等…

分享78个行业PPT,总有一款适合您

分享78个行业PPT&#xff0c;总有一款适合您 78个行业PPT下载链接&#xff1a;https://pan.baidu.com/s/19UL58I5Z1QZidVrq50v6fg?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易…