- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
13.servlet过滤
Servlet过滤器和监听器 教学内容 过滤器的概念 过滤器链 创建过滤器 过滤器API 实现过滤器 部署过滤器 Servlet监听器 监听ServletContext对象事件 1、过滤器的概念 过滤器是Servlet 2.3技术规范引入了一种新的Web应用程序组件。过滤器位于客户和Web应用程序之间,用于检查和修改两者之间流过的请求和响应。 过滤器作为一种Web应用程序组件,可以传输或者修改用户请求与servlet响应。它可以在用户请求到达servlet之前对请求进行处理,也可以在响应离开servlet之后修改响应信息。 在过滤器截获响应对象的时候,如果输出流被servlet关闭了,那么过滤器就不能够再改变输出流中的响应信息。因此如果需要修改响应信息,在servlet的实现代码中,应当是使用刷新输出流,而不能够关闭输出流。如: PrintWriter out=response.getPrintWriter(); … out.flush(); // 如果希望有过滤器截获并处理响应信息,此处不能用out.close()代替out.flush()。 我们可以实现多个过滤器,这些过滤器就形成了一个“过滤器链”,过滤器链的实现与维护工作是由servlet容器负责实现的。 过滤器链中不同过滤器的先后顺序是在部署文件web.xml中设定的。最先截取客户请求的过滤器将最后才能截取servlet响应信息。 3、创建过滤器LogFilter 过滤器是一个简单的Java类,主要特征是实现了Filter接口: package filters; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public final class ResponseTimeFilter implements Filter { : } 4、过滤器API Filter接口:所有过滤器都必须实现javax.servlet.Filter接口。该接口定义了三个方法,这三个方法分别在过滤器生命周期的不同阶段被调用: FilterConfig接口 当容器对Filter对象进行初始化时,容器调用Filter的init方法,并传入一个实现FilterConfig接口的对象。Filter可使用该对象获得一些有用的信息。FilterConfig接口包含以下方法: FilterChain接口 对于一个Servlet,用户可以定义多个Filter。这些Filter由容器组织成一个过滤器链。在每个Filter对象中,可以使用容器传入doFilter方法的FilterChain参数引用该过滤器链。FilterChain接口定义了一个doFilter方法,用于将请求/响应继续沿链向后传送。 5、实现过滤器ResponseTimeFilter ResponseTimeFilter的init方法的实现 //保存容器传递给过滤器的FilterConfig对象 FilterConfig filterConfig=null; //过滤器生成时由容器调用 public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig =filterConfig; //保存容器传来的FilterConfig对象的引用 } ResponseTimeFilter的Destroy方法的实现 //过滤器被销毁前由容器调用该方法,释放过滤器占用的资源 public void destroy() { filterConfig =null; //过滤器销毁之前释放filterConfig对象,进行垃圾回收 } LogFilter的DoFilter方法的实现 //当有请求来临时,请求通过本方法进入过滤器 public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException { long startTime=System.currentTimeMillis(); //访问时间戳 String remoteAddress=request.getRemoteAddr();//从请求获取远程地址 String remoteHost=request.getRemoteHost
您可能关注的文档
- 尼泊尔国际承包风险分析.doc
- 局域网不同系统间互访共享畅通无阻.doc
- 尿酸文献综述.doc
- 屏边一中九年级语文期中考试试卷6.doc
- 展望2011,打造会销的“双轮”驱动力.doc
- 山东农业大学植物育种学试题.doc
- 山东大明电器有限公司(原三联家电)采购协议方正.doc
- 山东大学专科《政治理论课》试题参考答案.doc
- 山东省东营市胜利一中2009-2010学年上学期高一年级模块考试化学试卷(通用版).doc
- 山东聊城高唐八年级上期中考试.doc
- 2022年部编人教版一年级语文上册期末考试题(通用).doc
- 2022年部编人教版七年级道德与法治上册期中模拟考试【附答案】.doc
- 2022年部编人教版七年级道德与法治上册期中模拟考试【加答案】.doc
- 2022年部编人教版七年级道德与法治(上册)期中试题及答案(A4版).doc
- 2022年部编人教版七年级道德与法治(上册)期中试卷及参考答案(精品).doc
- 2022年部编人教版七年级道德与法治(上册)期中质量检测题及答案.doc
- 2022年部编人教版七年级道德与法治(上册)期中试卷及答案.doc
- 2022年部编人教版七年级道德与法治(上册)期中题及答案.doc
- 2022年部编人教版七年级道德与法治(上册)期中试卷(附参考答案).doc
- 2022年部编人教版七年级道德与法治(上册)期中试题及答案一.doc
最近下载
- 内浮顶罐安全管理规范.pdf VIP
- 最新子宫颈高级别上皮内病变管理的中国专家共识2022(完整版).pdf VIP
- 2025年建筑工程副高面试题及答案.docx VIP
- 2023年嘉兴学院计算机科学与技术专业《计算机网络》科目期末试卷B(有答案).docx VIP
- 四川省德阳市2023-2024学年高一下学期教学质量监测 化学试卷含答案.docx VIP
- 流量积算仪瞬时流量不确定度评定与流量理论值的误差分析.pdf
- CASS编码、图层、图块名称、属性对照表.pdf VIP
- 2023年浙江万里学院计算机科学与技术专业《计算机网络》科目期末试卷A(有答案).docx VIP
- 《中国药典》2020年版 二部 注射用水.pdf VIP
- 沈阳建筑大学《计算机网络》2025 学年第二学期期末试卷.pdf VIP
原创力文档


文档评论(0)