Filter
1.JavaWeb的一个重要组件,可以对发送到servlet的请求进行拦截响应也进行拦截
2.Filter是实现了Filter接口的java类,需要在web.xml中进行配置
Filter的实现
1.创建一个filter实现filter接口 public class HelloFilter implements Filter()实现所有方法
2.在web.xml文件中配置
<filter> <display-name>HelloFilter</display-name> <filter-name>HelloFilter</filter-name> <filter-class>cn.stud.wlc.Filter.HelloFilter</filter-class> </filter> <filter-mapping> <filter-name>HelloFilter</filter-name> <url-pattern>/Filter/TestFilter.jsp</url-pattern> </filter-mapping>
Filter相关API
1.filter接口方法
init() public void init(FilterConfig arg0):
init类似于servlet的init方法在创建filter对象后立即调用且值调用一次 filter在servlet容器加载当前web应用的时候即被创建
FilterConfig类似于servletConfig
可以在web.xml中配置初始化参数
多个filter拦截顺序与<filter-mapping>的配置顺序有关,靠前的先被调用
<filter> <display-name>HelloFilter</display-name> <filter-name>HelloFilter</filter-name> <filter-class>cn.stud.wlc.Filter.HelloFilter</filter-class> <init-param> <param-name>name</param-name> <param-value>root</param-value> </init-param> </filter>
dofilter() public void doFilter(ServletRequest request, ServletResponse arg1, FilterChain chain)
真正的filter逻辑代码写在这里每次拦截都会调用该方法 放行方法 chain.doFilter(request, response);
FilterChain filter链,
若当前filter是最后一个filter则把目标请求给到servlet或者jsp
dodestory() public void destroy()
释放当前filter所占资源的方法,