过滤器
时间:2019-06-11
本文章向大家介绍过滤器,主要包括过滤器使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1:作用域 | |
ServletContext(上下文) | |
HttpSession(会话) | |
ServletRequest(请求) | |
过滤器 | |
一个中间组件,用于拦截源数据和目的数据之间的消息 | |
过滤二者之间传递的数据 | |
驻留在Web服务器上的Web组件 | |
过滤从客户端传递到服务器端的请求和响应 | |
(在Web应用程序中部署过滤器,对客户端和目标资源来说都是透明的,他们并不需要知道过滤器的存在。 | |
) | |
过滤器的一些常见应用: | |
1:认证过滤:对用户请求进行统一的认证。 | |
2:登录和审核过滤:对用户的访问请求进行记录和审核。 | |
3:图像转换过滤:转换图像格式。 | |
4:数据压缩过滤 :对用户发生的数据进行压缩,从而减少传输量。 | |
5:加密过滤:对请求和响应进行加密解密处理。 https | |
所有的过滤器必须实现javax.servlet.Filter接口 | |
在部署文件web.xml中添加过滤器的注册与映射 | |
<!—指定过滤器名和过滤器类--> | |
<filter> | |
<filter-name>HelloWorldFilter</filter-name> | |
<filter-class>com.wode.HelloWorldFilter</filter-class> | |
</filter> | |
<!-- 将过滤器与URL模式关联--> | |
<filter-mapping> | |
<filter-name>HelloWorldFilter</filter-name> | |
<url-pattern>/filter/*</url-pattern> | |
</filter-mapping> | |
doFilter(ServletRequest, ServletResponse) | |
我们从一个过滤器对象的doFilter()方法中调用此方法,以继续过滤器链的传递过程。它会将控制转到链中的下一个组件。 | |
过滤器链 | |
<filter-mapping> | |
<filter-name>FilterA</filter-name> | |
<servlet-name>AServlet</servlet-name> | |
</filter-mapping> | |
<filter-mapping> | |
<filter-name>FilterB</filter-name> | |
<url-pattern>*.test</url-pattern> | |
</filter-mapping> | |
<servlet-mapping> | |
<servlet-name>FilterC</servlet-name> | |
<url-pattern>*.test</url-pattern> | |
</servlet-mapping> |
原文地址:https://www.cnblogs.com/heqi-linxin1314/p/11004135.html
- 虚拟化平台cloudstack(4)——几个异常
- Golang语言 xml解析实例
- 机器学习算法实现解析——libFM之libFM的模型处理部分
- Go语言使用protobuf数据通信--师出同门,懂的人理解吧
- 虚拟化平台cloudstack(6)——使用maven:jetty调试
- 虚拟化平台cloudstack(7)——新版本的调试
- 一行代码,Pandas秒变分布式,快速处理TB级数据
- 机器学习算法实现解析——word2vec源码解析
- 从零开始创建一个基于Go语言的web service
- 转--Golang项目邮件发送模块代码分享
- 虚拟化平台cloudstack(8)——从UI开始
- 使用oracle的大数据工具ODCH访问HDFS数据文件
- UWP基础教程 - XAML开篇
- UWP基础教程 - XAML依赖属性和附加属性
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 浅析Android Studio 3.0 升级各种坑(推荐)
- Android EasyPermissions官方库高效处理权限相关教程
- 关于Android 6.0权限的动态适配详解
- 详解android 人脸检测你一定会遇到的坑
- Android实战RecyclerView头部尾部添加方法示例
- android实现多线程断点续传功能
- Android 8.0 中如何实现视频通话的画中画模式的示例
- Android7.0开发实现Launcher3去掉应用抽屉的方法详解
- Android利用Paint自定义View实现进度条控件方法示例
- 前端科普系列(5):ESLint - 守住优雅的护城河
- 图的储存方式,链式前向星最简单实现方式 (边集数组)
- 技术前刊:PostgreSQL12 COPY和bulkloading提升
- 疯子的算法总结(八) 最短路算法+模板
- POJ - 2387 Til the Cows Come Home (最短路入门)
- POJ - 3074 Sudoku (搜索)剪枝+位运算优化