jsp中过滤器的使用.docVIP

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
jsp中过滤器的使用.doc

Servlet过滤器 一、什么是Servlet过滤器 过滤器是在数据交互之间过滤数据的中间组件,独立于任何平台或者 Servlet 容器。 Servlet过滤器可以应用在客户机和 servlet 之间、servlet 和 servlet 或 JSP 页面之间,以及所包括的每个 JSP 页面之间。 二、实现一个 Servlet 过滤器 Servlet过滤器 API 包含javax.servlet包中的 3 个接口,分别是 Filter 、 FilterChain 和 FilterConfig 。 实现一个 Servlet 过滤器的确要经历三个步骤。 1、编写 Servlet 过滤器实现类。 2、配置 Servlet 过滤器。把该过滤器添加到 Web 应用程序中(通过在 Web 部署描述符 /web.xml 中声明它); 3、部署 Servlet 过滤器。把过滤器与应用程序一起打包并部署它; Servlet容器对部署描述符中声明的每一个过滤器,只创建一个实例(或实例池)。 与Servlet类似,容器将在同一个过滤器实例上运行多个线程来同时为多个请求服务,因此,开发过滤器时,也要注意线程安全的问题。 三、编写过滤器实现类 1、Filter接口:所有的Servlet过滤器类都必须实现javax.servlet.Filter接口 a、init(FilterConfig): 这是Servlet过滤器的初始化方法,Servlet容器创建Servlet过滤器实例后将调用这个方法。在这个方法中可以读取web.xml文件中Servlet过滤器的初始化参数。 b、doFilter(ServletRequest,ServletResponse,FilterChain): 这个方法完成实际的过滤操作,当客户请求访问于过滤器关联的URL时,Servlet容器将先调用过滤器的doFilter方法。FilterChain参数用于访问后续过滤器。 c、destroy(): Servlet容器在销毁过滤器实例前调用该方法,这个方法中可以释放Servlet过滤器占用的资源。 2、过滤器实现类创建步骤(过滤器实现类生命周期): a.实现javax.servlet.Filter接口。 b.初始化:实现init方法,读取过滤器的初始化参数。 c.过滤:实现doFilter方法,完成对请求或响应的过滤。 d.转发或阻塞:调用FilterChain接口对象的doFilter方法,向后续的过滤器传递请求或响应。 e.析构:destroy方法销毁过滤器,释放过滤器占用的资源。 四、配置 Servlet 过滤器(在web.xml中配置) 过滤器通过 web.xml 文件中的两个 XML 标签来声明: 1、filter : 定义过滤器的名称,并且声明过滤器实现类和 init() 参数。 filter-name : 指定过滤器的名字; filter-class : 指定过滤器类的类名,包括类的路径; init-param : 为过滤器实例提供初始化参数,可以有多个; 2、filter-mapping : 将过滤器与 servlet 或 URL 模式相关联。 filter-name : 指定过滤器的名字,与filter中的子元素filter-name相对应; url-pattern : 指定和过滤器关联的URL,为”/*”表示所有URL; 3、filter-mapping元素还可以包含0到4个dispatcher,指定过滤器对应的请求方式, 可以是REQUEST,INCLUDE,FORWARD和ERROR之一,默认REQUEST. REQUEST 当用户直接访问页面时,Web容器将会调用过滤器。如果目标资源是通过RequestDispatcher的include()或forward()方法访问时,那么该过滤器就不会被调用。 INCLUDE 如果目标资源是通过RequestDispatcher的include()方法访问时,那么该过滤器将被调用。除此之外,该过滤器不会被调用。 FORWARD 如果目标资源是通过RequestDispatcher的forward()方法访问时,那么该过滤器将被调用,除此之外,该过滤器不会被调用。 ERROR 如果目标资源是通过声明式异常处理机制调用时,那么该过滤器将被调用。除此之外,过滤器不会被调用。 在web.xml中配置Servlet和Servlet过滤器,应该先声明过滤器元素,再声明Servlet元素。 两个或更多个过滤器应用到同一个资源,按照它们在配置文件

文档评论(0)

ziyouzizai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档