过滤器过滤多个网站目录filter-mapping servlet filter(3)

电脑杂谈  发布时间:2018-02-20 06:24:08  来源:网络整理

2.2、 Servlet过滤器API

Servlet过滤器API包含了3个接口,它们都在javax.servlet包中,分别是Filter接口、FilterChain接口和FilterConfig接口。

2.2.1 public Interface Filter

所有的过滤器都必须实现Filter接口。该接口定义了init,doFilter0,destory()三个方法:

(1) public void init (FilterConfig filterConfig) throws ServletException.

当开始使用servlet过滤器服务时,Web容器调用此方法一次,为服务准备过滤器;然后在需要使用过滤器的时候调用doFilter(),传送给此方法的FilterConfig对象,包含servlet过滤器的初始化参数。

(2)public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)

throws java.io.IOException,ServletException.

每个过滤器都接受当前的请求和响应,且FilterChain过滤器链中的过滤器(应该都是符合条件的)都会被执行。doFilter方 法中,过滤器可以对请求和响应做它想做的一切,通过调用他们的方法收集数据,或者给对象添加新的行为。过滤器通过传送至 此方法的FilterChain参数,调用chain.doFilterO将控制权传送给下一个过滤器。当这个调用返回后,过滤器可以在它的 Filter方法的最后对响应做些其他的工作。如果过滤器想要终止请求的处理或得到对响应的完全控制,则可以不调用下一个过滤 器,而将其重定向至其它一些页面。当链中的最后一个过滤器调用chain.doFilterO方法时,将运行最初请求的Servlet。

(3)public void destroy()

一旦doFilterO方法里的所有线程退出或已超时,容器调用

此方法。服务器调用destoryO以指出过滤器已结束服务,用于释

放过滤器占用的资源。

2.2.2 public interface FilterChain

public void doFilter(ServletRequest request,ServletResponse response)

thlows java.io.IOException,ServletException

此方法是由Servlet容器提供给开发者的,用于对资源请求过滤链的依次调用,通过FilterChain调用过滤链中的下一个过滤 器,如果是最后一个过滤器,则下一个就调用目标资源。

2.2.3 public interface FilterConfig

FilterConfig接口检索过滤器名、初始化参数以及活动的Servlet上下文。该接口提供了以下4个方法:

(1)public java.1ang.String getFilterName0

返回web.xml部署文件中定义的该过滤器的名称。

(2)public ServletContext getServletContextO

返回调用者所处的servlet上下文。

(3)public java.1ang.String getlnitParameter(java.1ang.String name)

过滤器过滤多个网站目录filter-mapping_js filter过滤_过滤器 filter

返回过滤器初始化参数值的字符串形式,当参数不存在时,返回nul1.name是初始化参数名。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-86028-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 樊书云
      樊书云

      美国提供了什么帮助

      • 郭利文
        郭利文

        知道什么叫“炒”吗

    • 张榘
      张榘

      1手机信号wifi严重不稳定以前能用的应用全装不上战游戏画面严重卡顿早知道不升级后悔死了

    • 雷杰
      雷杰

      公司不行贿能够少纳税吗

    热点图片
    拼命载入中...