编写FilterDemo1类
package com.filter;
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 init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println("我是FilterDemo1,客户端向Servlet发送的请求被我拦截到了");
//对请求放行,进入下一个过滤器FilterDemo2
chain.doFilter(request, response);
System.out.println("我是FilterDemo1,Servlet向客户端发送的响应被我拦截到了");
}
@Override
public void destroy() {
}
}编写FilterDemo2类
package com.oracle.filter;
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 FilterDemo2 implements Filter{
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println("我是FilterDemo2,客户端向Servlet发送的请求被我拦截到了");
//对请求放行,进入Servlet
chain.doFilter(request, response);
System.out.println("我是FilterDemo2,Servlet向客户端发送的响应被我拦截到了");
}
@Override
public void destroy() {
}
}web.xml
<filter> <filter-name>filterDemo1</filter-name> <filter-class>com.filter.FilterDemo1</filter-class> </filter> <filter> <filter-name>filterDemo2</filter-name> <filter-class>com.filter.FilterDemo2</filter-class> </filter> <filter-mapping> <filter-name>filterDemo1</filter-name> <url-pattern>/*</url-pattern> <!-- /*是对所有的文件进行拦截 --> </filter-mapping> <filter-mapping> <filter-name>filterDemo2</filter-name> <url-pattern>/*</url-pattern> <!-- /*是对所有的文件进行拦截 --> </filter-mapping>
编程那点事
