过滤器实现Filter接口javax.servlet.Filter
package com.henau.example; import java.io.IOException; import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse; public class FilterDemo1 implements Filter { @Override
public void destroy() {
System.out.println("过滤器1销毁了"); } @Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
System.out.println("调用过滤器1");
chain.doFilter(request, response);
System.out.println("调用过滤器1"); } @Override
public void init(FilterConfig arg0) throws ServletException {
System.out.println("过滤器初始化1"); } }
配置web.xml(表示过滤所有目录)
<filter-name>FilterDemo1</filter-name>
<filter-class>com.henau.example.FilterDemo1</filter-class>
</filter>
<filter-mapping>
<filter-name>FilterDemo1</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
配置两个Filter
调用一个页面,输出的结果为
调用过滤器1
调用过滤器2
输出
调用过滤器2
调用过滤器1
调用的顺序是web.xml中的Filter-mapping的配置先后顺序而先后执行