版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、过 滤 器,目标,描述过滤器 理解过滤器生命周期 实现简单的过滤器,过滤器简介,过滤器是向 Web 应用程序的请求和响应处理添加功能的 Web 服务组件 过滤器的工作原理:,Web 资源,用户发送请求,过滤器将用户的请求发送至 Web 资源,资源将响应发送至过滤器,过滤器将 Web 资源的响应发送给用户,用户,过滤器,过滤器生命周期,过滤器生命周期的各个阶段:,实例化,初始化,过滤,销毁,Filter 接口,过滤器是一个对象,它根据用户的请求和资源的响应进行过滤 Filter 接口包含以下方法:,Filter 接口,init(),doFilter(),destroy(),过滤器链,Filter
2、Chain 接口用于调用过滤器链中的一系列过滤器,用户,过滤器1,过滤器2,过滤器3,Web 资源,过滤器链,FilterConfig,在初始化过程中,容器使用 FilterConfig 将信息传递给过滤器 FilterConfig 接口包含以下方法:,getFilterName(),getInitParameter(),getInitParameterNames(),getServletContext(),FilterConfig,过滤器定义,过滤器定义用于将过滤器名称与部署描述符中的特定类关联, FilterName ClassName ,指定过滤器的名称,指定类的名称,过滤器映射,使用
3、元素可将过滤器映射至 Web资源,如Servlet, MyFilter /servletname/* ,指定过滤器的名称,指定 Servlet 的名称,过滤器定义和映射,定义和映射过滤器 部署描述符中 和 元素的用法, FiltersModule FilterTimer filters.TimerFilter FilterTimer /* ,创建 Servlet,演示:示例 1,. out.println(LoggerServlet); out.println(); out.println(“简单过滤器 Servlet); String requestedUri = (String)reque
4、st.getAttribute(requestURI); out.println(“请求的 URI 为: +requestedUri); out.println(); out.println(); .,创建过滤器,演示:示例 2,FilterConfig、doFilter()、init() 和 destroy() 方法的用法,public class LoggerFilter extends HttpServlet implements Filter private FilterConfig filterConfig; public void init(FilterConfig filterC
5、onfig) throws ServletException this.filterConfig = filterConfig; public void doFilter(ServletRequest request, ServletResponse response,FilterChain filterChain) long startTime=System.currentTimeMillis(); String remoteAddress=request.getRemoteAddr(); String remoteHost=request.getRemoteHost(); HttpServ
6、letRequest myReq=(HttpServletRequest)request; String reqURI=myReq.getRequestURI(); System.out.println(reqURI);,创建 HTML 文件,演示:示例 3, 新文档 欢迎使用第一个过滤器示例 单击此处查看过滤器的效果 ,实现过滤器链过滤器1,演示:示例 4,public class SimpleFilter extends HttpServlet implements Filter private FilterConfig filterConfig; public void init(Fil
7、terConfig filterConfig) throws ServletException this.filterConfig = filterConfig; public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) try filterConfig.getServletContext().log(in SimpleFilter); System.out.println(in SimpleFilter); filterChain.doFilter(reque
8、st, response); filterConfig.getServletContext().log(Getting out of SimpleFilter); System.out.println(Getting out of SimpleFilter); catch (ServletException sx) ,演示:示例 5,实现过滤器链过滤器2,public class SimpleFilter2 extends HttpServlet implements Filter private FilterConfig filterConfig; public void doFilter(
9、ServletRequest request, ServletResponse response, FilterChain filterChain) try filterConfig.getServletContext().log(in SimpleFilter2); System.out.println(in SimpleFilter2); filterChain.doFilter(request, response); filterConfig.getServletContext().log(Getting out of SimpleFilter2); System.out.println
10、(Getting out of SimpleFilter2); catch (ServletException sx) ,实现过滤器链web.xml, simplefilter myfilter.SimpleFilter simplefilter /* simplefilter2 myfilter.SimpleFilter2 simplefilter2 /* ,实现过滤器链, 欢迎访问过滤器链演示程序! ,创建一个html文件作为Web资源,总结,过滤器是 Web 服务组件 过滤器可以访问客户端输入的请求和 Web 资源输出的响应 过滤器定义用于将过滤器名称与特定的类关联在一起 过滤器映射用于将过滤器映射至 Web 资源 Fil
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年危险化学品泄漏事故应急处置案例分析
- 沪科版物理九年18.3《电能的输送》教案
- 眼科护理文献分享
- 老年皮肤清洁护理
- 心衰患者康复护理方案培训
- 药剂科药物计算培训方案
- 甲状腺结节的监测与管理
- 2025年公务员(保障性住房供给)试题及答案
- 肩周炎运动疗法
- 感染病例消毒程序培训
- 2023年江苏省安全员B证考试题库及答案
- C语言试讲稿课件
- (完整版)英语仁爱版九年级英语下册全册教案
- 星火英语四级词汇
- 三角形的认识(强震球)
- GB 1886.358-2022食品安全国家标准食品添加剂磷脂
- GB/T 23901.5-2009无损检测射线照相底片像质第5部分:双线型像质计图像不清晰度的测定
- GA/T 832-2014道路交通安全违法行为图像取证技术规范
- 刑事诉讼法(第三版)第十章
- 一级半压气机优化教程
- 2022年楚雄彝族自治州姚安县医院医护人员招聘考试笔试题库及答案解析
评论
0/150
提交评论