过滤器介绍
过滤器是一个服务器端的组件,它可以截取用户端的请求与响应信息,并对这些信息过滤
过滤器的生命周期:实例化(web.xml),初始化(init()),过滤(doFilter()),销毁(destroy())
第一个过滤器
init():这是过滤器的初始化方法,web容器创建过滤器实例后将调用这个方法。这个方法中可以读取web.xml文件中过滤器的参数
doFilter():这个方法完成实际的过滤操作,这个地方是过滤器的核心方法。当用户请求访问与过滤器关联的URL时,Web容器将先调用过滤器的doFileter方法。
FilterChain参数可以调用chain.doFilter方法,将请求传给下一个过滤器(或目标资源),或利用转发,重定向将请求资源转发到其他资源。
destroy() Web容器在销毁过滤器实例前调用该方法,在这个方法中可以释放过过滤器占用的资源。
Web.xml配置
<fileter>
<filter-name>Filter的名字</filter-name>
<filter-class>Filter类的名字</filter-class>
<init-param>
<description>描述信息可以放在这</description>
<param-name>参数的名称</param-name>
<param-value>参数的值</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Filter的名字</filter-name>
<url-pattern>URL</url-pattern>
<dispatcher></dispatcher>
</filter-mapping>
过滤器链
多个过滤器指向一个url,顺序按照web.xml配置的顺序来。
过滤器的分类
Servlet2.5:request,forward,include,error
Servlet3.0:async