欢迎来到天天文库
浏览记录
ID:39010436
大小:978.81 KB
页数:70页
时间:2019-06-23
《Servlet应用开发高级技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二讲:Servlet高级编程——过滤/应用和会话事件(1)陈旺虎Servlets高级编程Servlet过滤概述实例学习Eclipse编写Servlet过滤应用和会话事件概述Eclipse编写实现时间监听Servlets高级编程Servlet过滤概述实例学习Eclipse编写Servlet过滤应用和会话事件概述Eclipse编写实现时间监听学习目标掌握过滤器(filters)的处理流程了解实现Servlet过滤器的API和接口掌握过滤器创建方法实例学习Servlet过滤器及其用途过滤器(Filter)在HttpServletReque
2、st和HttpServletResponse对象被传递给Servlet之前,对其进行必要的处理过滤器的用途举例记录到来的请求信息,以及其发起机器的IP地址作为加密/解密的设备用户的认证、数据的压缩和用户输入的验证等Web应用中的ServletFiltersServletfilters可截取在Web客户端和Web资源之间进/出的HTTP消息在一个HTTP请求到达一个Web资源(Servlet)之前,一个或多个filters可对其进行截取和修改在一个Web资源使用一个请求转发器转发或者包含另一Web资源时,过滤器也可运行Filters的典
3、型应用Servlet过滤规范给出的典型应用:认证filters登录和审计filters图像转换filters数据压缩filters加密filters触发资源访问事件的Filters转换XML内容的XSLTfilters缓存filtersFilter的处理流程响应Web资源请求访问/修改请求doFilter()访问/修改响应过滤器客户端(请求WebResource)容器Filter链处理Filters能够被配置成为一条过滤链一个FilterChain对象描述该链Filters可以通过内嵌的调用来激活Servlet容器调用Filter链中
4、第一个filter的doFilter()方法类:实现接口javax.servlet.Filter参数:请求,ServletRequest响应,ServletResponse过滤链,FilterChain过滤链中的第一个filter调用doFilter(),并激活其中的下一个filter类:javax.servlet.FilterChain参数:请求,ServletRequest响应,ServletResponse过滤链的最后一个入口是Web资源Filter链处理doFilter()嵌套调用(1)(2)(3)Filter实现创建一个类,
5、实现接口javax.servlet.Filter实现方法:init()doFilter()destroy()配置,Web.xml定义filter,…映射该filter到servlet,…如果一个filter在多个servlet上起作用,可以将该filter映射到一个URLpattern,使得满足该模式的所有请求将被过滤例如:/*FilterAPI简介编写一个filter时,主要需要实现下面的三个接口(包javax.servlet中):F
6、ilterFilterConfigFilterChainFilter接口javax.servlet.Filter是编写filter必须实现的接口一个filter的生命周期通过该接口的三个方法来体现:init,doFilter和destroypublicvoidinit(FilterConfigfilterConfig)publicvoiddoFilter(HttpServletRequestrequest,HttpServletResponseresponse,FilterChainchain)publicvoiddestroy()I
7、nit方法一个filter在servlet容器调用其init方法时,开始其生命周期Servlet容器只调用一次init方法,调用发生在容器完成该filter的实例化时Servlet容器将通过FilterConfig对象,获取该filter的配置信息doFilterdoFilter方法具体执行过滤过程用户每次请求一个filter被映射到的Web资源(例如Servlet)时,Servlet容器将调用该filter的doFilter方法调用doFilter时,Servlet容器将会传递一个HttpServletRequest对象、HttpS
8、ervletResponse对象和FilterChain对象可以操纵前两个对象,例如:给HttpServletRequest请求增加一个属性(setAttribute)FilterChain对象被用于将控制传递到下一个资
此文档下载收益归作者所有