</pre>作用:在请求到达Servlet制定的服务前时,通过过滤器捕获请求参数,执行自定义的过滤方法,已达到筛选的目的。亦可通过过滤器来初始化特定的容器<p></p><p>使用:</p><p>step1:</p><p><span style="white-space:pre"> </span>web.xml 配置</p><p>类似于Servlet服务组件</p><p></p><pre name="code" class="html"><filter>
<filter-name>filter1</filter-name>
<filter-class>com.web.Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>filter1</filter-name>
<url-pattern>/process</url-pattern>
</filter-mapping>
过滤器代码实现:
public class ComFilter implements Filter{
//初始化方法
public void init(FilterConfig argo)throws ServletException{}
/**
/*当请求到达容器,容器调用doFilter()
/*容器会将已创建的request,response
/*对象传递入参数
/*FilterChain:过滤器键
/*如果调用了FilterChain.doFilter,表示
/*调用之后的过滤器,否则进入对应的Web
/*组件
public void doFilter(ServletReqeust req,ServletResponse resp,FilterChain filterChain) throws IOException{
......
filterChain.doFilter(req,resp);
}
}
笔记疑问:过滤器是在容器初始化后就会被初始化,还是当有请求到达时才初始化?以及销毁,是在Web容器关闭时还是本次会话结束时销毁?
望读者赐金言解惑
感谢