过滤器解压缩Servlet和JSP页面内容

开发 后端
本文介绍过滤器解压缩Servlet和JSP页面内容,以及介绍部署Servlet过滤器和过滤器的许多应用。

部署Servlet过滤器

事实上,与 Web 应用程序一起部署过滤器绝对不涉及任何复杂性。只需把过滤器类和其他 Web 组件类包括在一起,并像您通常所做的那样把 web.xml 文件(连同过滤器定义和过滤器映射声明)放进 Web 应用程序结构中,Servlet 容器将处理之后的其他所有事情。

过滤器的许多应用

您在 J2EE Web 应用程序中利用过滤器的能力,仅受到您自己的创造性和应用程序设计本领的限制。在适合使用装饰过滤器模式或者拦截器模式的任何地方,您都可以使用过滤器。过滤器的一些最普遍的应用如下:

加载:对于到达系统的所有请求,过滤器收集诸如浏览器类型、一天中的时间、转发 URL 等相关信息,并对它们进行日志记录。

性能:过滤器在内容通过线路传来并在到达 Servlet和JSP页面之前解压缩该内容,然后再取得响应内容,并在将响应内容发送到客户机机器之前将它转换为压缩格式。

安全:过滤器处理身份验证令牌的管理,并适当地限制安全资源的访问,提示用户进行身份验证和/或将他们指引到第三方进行身份验证。过滤器甚至能够管理访问控制列表(Access Control List,ACL),以便除了身份验证之外还提供授权机制。将安全逻辑放在过滤器中,而不是放在 Servlet和JSP页面中,这样提供了巨大的灵活性。在开发期间,过滤器可以关闭(在 web.xml 文件中注释掉)。在生产应用中,过滤器又可以再次启用。此外还可以添加多个过滤器,以便根据需要提高安全、加密和不可拒绝的服务的等级。

会话处理:将 Servlet和JSP页面与会话处理代码混杂在一起可能会带来相当大的麻烦。使用过滤器来管理会话可以让 Web 页面集中精力考虑内容显示和委托处理,而不必担心会话管理的细节。

XSLT 转换:不管是使用移动客户端还是使用基于 XML 的 Web 服务,无需把逻辑嵌入应用程序就在 XML 语法之间执行转换的能力都绝对是无价的。

使过滤器适应 MVC 体系结构

模型-视图-控制器(Model-View-Controller,MVC)体系结构是一个有效的设计,它现在已作为最重要的设计方法学,整合到了诸如 Jakarta Struts 和 Turbine 等大多数流行的 Web 应用框架中。过滤器旨在扩充 MVC 体系结构的请求/响应处理流。不管请求/响应发生在客户机和服务器之间,还是发生在服务器上的其他组件之间,过滤器在处理流中的应用都是相同的。从 MVC 的观点看,调度器组件(它或者包括在控制器组件中,或者配合控制器组件工作)把请求转发给适当的应用程序组件以进行处理。这使得控制器层成为包括 Servlet 过滤器的***位置。通过把过滤器放在控制器组件本身的前面,过滤器可以应用于所有请求,或者通过将它放在控制器/调度器与模型和控制器之间,它可以应用于单独的 Web 组件。

MVC 体系结构广为传播,并具有良好的文档。请通过 参考资料 中的链接了解关于 MVC 和 MVC 体系结构中的 Servlet 实现的更多信息。

【编辑推荐】

  1. Servlet中的doFilter方法
  2. 配置Servlet过滤器
  3. 安装Servlet和JSP开发工具
  4. Java Servlet入门教程
  5. Servlet过滤器是什么
责任编辑:佚名 来源: 网界网
相关推荐

2021-07-05 15:22:03

Servlet过滤器客户端

2009-07-08 15:30:56

Servlet过滤器

2009-07-08 16:07:04

Servlet过滤器配

2009-07-08 17:33:37

Servlet过滤器

2009-07-06 13:02:49

Servlet过滤器

2009-07-03 18:26:11

Servlet过滤器

2011-07-14 13:20:49

Servlet过滤器

2024-11-04 08:45:48

布隆过滤器元数据指纹值

2024-01-05 09:04:35

隆过滤器数据结构哈希函数

2009-09-29 13:55:23

Hibernate设置

2009-07-14 09:09:08

Swing模型过滤器

2011-06-29 16:14:59

Qt 事件 过滤器

2010-01-04 09:27:31

Linux压缩解压缩命令详解

2023-12-21 07:30:36

PythonZipfileTarfile

2017-07-18 14:10:31

大数据Apache Flum过滤器

2009-09-25 15:19:44

Hibernate过滤

2009-06-18 10:13:00

Hibernate过滤

2023-03-29 08:59:59

Go压缩包文档

2022-05-13 08:23:07

Zuul微服务Zuul过滤器

2010-03-05 09:50:37

Ubuntu ligh
点赞
收藏

51CTO技术栈公众号