过滤器:顾名思义,就是对客户端的请求进行过滤,符合条件的通过,不符合条件的不通过;并且可以根据条件进行下一步的逻辑操作。
过滤器之helloworld:
创建一个MyFilter实现Filter
public class MyFilter implements Filter{
@Override
public void destroy() {
System.out.println("filter...destroy");
}
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
throws IOException, ServletException {
System.out.println("filter...filter");
arg2.doFilter(arg0, arg1);//放行servlet
}
@Override
public void init(FilterConfig arg0) throws ServletException {
System.out.println("filter...init");
}
}
web.xml中进行配置:
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>com.milan.filter.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>项目运行时,控制台输出如下:
filter...init
filter...filter
(此处为放行的servlet)
filter...destroy
注意:
filter-mapping中的dispatcher标签,可以对访问方式进行设置,主要有以下四种方式:
1.request :默认,直接访问时才执行filter
2.forword:转发时才执行filter
3.include:包含资源时才执行filter
4.error:报错时跳转时执行filter
608

被折叠的 条评论
为什么被折叠?



