首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Servlet后续的尾(yi)巴--------Filter过滤器

Servlet后续的尾(yi)巴--------Filter过滤器

作者头像
Gxjun
发布2018-03-26 15:37:35
6540
发布2018-03-26 15:37:35
举报
文章被收录于专栏:mlml

                              -------载录自  http://www.blogjava.net/yangaiyou/archive/2007/08/29/140854.html  感谢博主心如止水 一心向佛 描写出这么的具体。

笔记:

      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执行的过程图:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-12-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档