7_1_过滤器.ppt_第1页
7_1_过滤器.ppt_第2页
7_1_过滤器.ppt_第3页
7_1_过滤器.ppt_第4页
7_1_过滤器.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JAVA WEB第七章,过滤器,内容回顾,上章重要知识点 自定义标签结构 自定义标签继承类 自定义标签配置,南亚视点网络培训学校,教学目标,通过本节课的学习: 本节的重点: 掌握什么是过滤器 掌握过滤器的配置,实现 掌握使用过滤器解决编码,乱码问题,南亚视点网络培训学校,过滤器简介,过滤器是向 Web 应用程序的请求和响应处理添加功能的 Web 服务组件 过滤器的工作原理:,Web 资源,用户发送请求,过滤器将用户的请求发送至 Web 资源,资源将响应发送至过滤器,过滤器将 Web 资源的响应发送给用户,用户,过滤器,南亚视点网络培训学校,过滤器生命周期,过滤器生命周期的各个阶段:,实例化,初

2、始化,过滤,销毁,南亚视点网络培训学校,过滤器定义,过滤器定义用于将过滤器名称与部署描述符中的特定类关联, FilterName ClassName ,指定过滤器的名称,指定类的名称,南亚视点网络培训学校,过滤器映射,使用 元素可将过滤器映射至 Web资源,如Servlet, MyFilter /servletname/* ,指定过滤器的名称,指定 filter 的名称,南亚视点网络培训学校,过滤器定义和映射,定义和映射过滤器 部署描述符中 和 元素的用法, FiltersModule FilterTimer filters.TimerFilter FilterTimer /* ,南亚视点网络

3、培训学校,Filter 接口,过滤器是一个对象,它根据用户的请求和资源的响应进行过滤 Filter 接口包含以下方法:,Filter 接口,Init(),doFilter(),destroy(),南亚视点网络培训学校,过滤器定义,过滤器 API 包含 3 个简单的接口,它们整洁地嵌套在 javax.servlet 包中。那 3 个接口分别是 Filter 、 FilterChain 和 FilterConfig 。从编程的角度看,过滤器类将实现 Filter 接口,然后使用这个过滤器类中的 FilterChain 和 FilterConfig 接口。该过滤器类的一个引用将传递给 FilterC

4、hain 对象,以允许过滤器把控制权传递给链中的下一个资源。 FilterConfig 对象将由容器提供给过滤器,以允许访问该过滤器的初始化数据。 为了与我们的三步模式保持一致,过滤器必须运用三个方法,以便完全实现 Filter 接口: init() :这个方法在容器实例化过滤器时被调用,它主要设计用于使过滤器为处理做准备。该方法接受一个 FilterConfig 类型的对象作为输入。 doFilter() :与 servlet 拥有一个 service() 方法(这个方法又调用 doPost() 或者 doGet() )来处理请求一样, 过滤器拥有单个用于处理请求和响应的方法 doFilte

5、r() 。这个方法接受三个输入参数:一个 ServletRequest 、 response 和一个 FilterChain 对象。 destroy() :正如您想像的那样,这个方法执行任何清理操作,这些操作可能需要在自动垃圾收集之前进行。,南亚视点网络培训学校,创建过滤器,FilterConfig、doFilter()、init() 和 destroy() 方法的用法,public class LoggerFilter extends HttpServlet implements Filter private FilterConfig filterConfig; public void in

6、it(FilterConfig filterConfig) 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.ge

7、tRemoteHost(); HttpServletRequest myReq=(HttpServletRequest)request; String reqURI=myReq.getRequestURI(); System.out.println(reqURI);,南亚视点网络培训学校,创建过滤器,public class SimpleFilter extends HttpServlet implements Filter private FilterConfig filterConfig; public void init(FilterConfig filterConfig) throws

8、 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(request, response); filterConfig.ge

9、tServletContext().log(Getting out of SimpleFilter); System.out.println(Getting out of SimpleFilter); catch (ServletException sx) ,南亚视点网络培训学校,创建过滤器,public class SimpleFilter2 extends HttpServlet implements Filter private FilterConfig filterConfig; public void doFilter(ServletRequest request, ServletR

10、esponse 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(Getting out of SimpleFilter2); catch (ServletException sx) ,南亚视点网络培训学校,本章课程总结,过滤器是 Web 服务组件 过滤器可以访问客户端输入的请求和 Web 资源输出的响应 过滤器定义用于将过滤器名称与特定的类关联在一起 过滤器映射用于将过滤器映射至 Web 资源 Filter 接口包含各种方法,如 init()、doFilter() 和 destroy() 每次用户发送请求或 Web 资源发送响应时都会调用 doFilter() 方法 Filte

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论