Java过滤器Filter使用说明.docVIP

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

Java过滤器 过滤器的产生背景 在基于JSP页面开发的Web项目中,会遇到一种情况,除了登陆页面或者注册页面以外,其它页面在用户未登陆的情况下是不允许访问的。对用户身份的验证是基于session实现的,即在登陆成功后在session中放入标识,当用户再次访问其它页面时,根据session的标识来确认用户是否可以访问。这样的话,在很多页面中都需要添加判断代码,同样代码的重复增加了多余的代码,不符合Java编程习惯且不利于维护。而过滤器的产生解决了这一问题。 过滤器的实现 使用Servlet过滤器实现JSP页面中的用户身份验证,首先必须实现Filter接口,且重写doFilter()方法,由doFilter()方法去处理过滤业务;其次,在web.xml文件中配置Servlet过滤器,指定过滤器的名称、过滤器包所在类的名称及过滤器的映射范围等。 过滤器的介绍 3.1 Servlet过滤器接口的构成 所有的Servlet过滤器都必须实现javax.servlet.filter接口,该接口中定义了3个过滤器必须实现的方法: void init(FilterConfig):过滤器的初始化方法,Servlet容器在创建过滤器实例时调用这个方法,在这个方法中可以读出在web.xml文件中为该过滤器配置的初始化参数。 void doFilter(ServletRequest,ServletResponse,FilterChain):用于完成实际的过滤操作,当客户请求访问与过滤器相关联的URL时,Servlet容器将先调用过滤器的这个方法,FilterChain参数用于访问后续过滤器。 void destroy():过滤器在被取消前执行这个方法,释放过滤器申请的资源。 创建一个Servlet过滤器需要下面的步骤: 创建一个实现了javax.servlet.Filter接口的类。 2.重写init(FilterConfig)方法,读入为过滤器配置的初始化参数,申请过滤器需要的资源 重写方法doFilter(ServletRequest,ServletResponse,FilterChain),完成过滤操作,可以从ServletRequest参数中得到全部的请求信息,从ServletResponse参数中得到全部的响应信息。 在doFilter()方法的最后,使用FilterChain参数的doFilter()方法将请求和响应后传。 5.对响应的Servlet程序和JSP页面注册过滤器,在部署描述文件(web.xml)中使用filter-apping和filter元素对过滤器进行配置。 this.times = config.getInitParameter(times);//从配置文件中读出设置的参数 } } 在web.xml中进行配置 ?xml version=1.0 encoding=UTF-8? web-appweb-app version=2.5 xmlns=/xml/ns/javaee xmlns:xsi=/2001/XMLSchema-instance xmlns:web=/xml/ns/javaee/web-app_2_5.xsd xsi:schemaLocation=/xml/ns/javaee /xml/ns/javaee/web-app_2_5.xsd filter filter-nameLoginFilter/filter-name filter-classcom.lacom.LoginFilter/filter-class init-param param-nametimes/param-name param-value1000/param-value /init-param /filter filter-mapping filter-nameLoginFilter/filter-name url-pattern*.do/url-pattern !-- 设置需要过滤的url请求路径,有三种写法 1,完全匹配 url-pattern/test/list.do/url-pattern 即指定的url 2,目录匹配 url-pattern/test/*/url-pattern 即/test/下的所有url 3,扩展名匹配 url-pattern*.do/url-pattern 所有以.do结尾的url -- url-pattern*.jsp/url-pattern !-- 可以设置多个匹配 -- /filter-mapping /

文档评论(0)

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

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

1亿VIP精品文档

相关文档