博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Servlet后续的尾(yi)巴--------Filter过滤器
阅读量:5943 次
发布时间:2019-06-19

本文共 878 字,大约阅读时间需要 2 分钟。

                              -------载录自    感谢博主 描写出这么的具体。

 

笔记:

      servlet过滤器是小型的web组件,它能够处理传入的请求和传出的响应。Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在离开servlet时处理response。它具有高度的透明性,无需更改应用程序代码,就可以根据需要添加、修改或从应用程序中将它删除。

一个filter 包括: 
1. 在servlet被调用之前截获; 
2. 在servlet被调用之前检查servlet request; 
3. 根据需要修改request头和request数据; 
4. 根据需要修改response头和response数据; 
5. 在servlet被调用之后截获. 

     -----------正是基于上面的诸多原因,所以对于 Filter(过滤器代码)万万不可出错,如果出错,造成的结果则是:

        对于整个的服务器无法启动

你能够配置一个filter 到一个或多个servlet;单个servlet或servlet组能够被多个filter 使用。几个实用的filter包括:用户辨认filter,日志filter,审核filter,加密filter,符号filter,能改变xml内容的XSLT filter等。
    类如:

      

其中<filter-Class>是过滤器的路径;<filter-mapping>定义了该过滤器只过滤以.do结尾的URL,当然你也可以稍做修改让它过滤.jsp文件。

一个客户化的过滤器要实现Filter接口的三个方法:init()、destroy()和doFilter()。

    1. init():在容器实例化过滤器时调用,该方法接受一个FilterConfig类型的对象做为输入。
    2. destroy():执行一些清理操作。
    3. doFilter():类似servlet的doPost()、doGet()方法,执行具体的过滤任务。

例如: 

下面这张便是Filter执行的过程图:

      

    

转载地址:http://kzwxx.baihongyu.com/

你可能感兴趣的文章
ios ble 参考
查看>>
linux中注册系统服务—service命令的原理通俗
查看>>
基于托管C++的增删改查及异步回调小程序
查看>>
Oracle DBMS_STATS 包 和 Analyze 命令的区别
查看>>
linux下基本命令
查看>>
windows server 2008R2 上安装配置freesshd
查看>>
手动删除SVCH0ST.EXE的方法
查看>>
已释放的栈内存
查看>>
Android网络之数据解析----SAX方式解析XML数据
查看>>
Java递归列出所有文件和文件夹
查看>>
[关于SQL]查询成绩都大于80分的学生
查看>>
Delphi(Tuxedo,BDE,ADO)三合一数据集组件HsTxQuery
查看>>
java之ibatis数据缓存
查看>>
“TNS-03505:无法解析名称”问题解决一例
查看>>
LeetCode - Longest Common Prefix
查看>>
Android图片处理
查看>>
2015年第21本:万万没想到,用理工科思维理解世界
查看>>
大家谈谈公司里的项目经理角色及职责都是干什么的?
查看>>
剑指offer
查看>>
Velocity魔法堂系列二:VTL语法详解
查看>>