一、什么是过滤器
过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理。通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理。
二、过滤器的实现
1.继承接口javax.servlet.Filter接口
2.实现接口中doFilter()方法
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 MyFirstFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
System.out.println("过滤器已被销毁");;
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// TODO Auto-generated method stub
System.out.println("过滤器已生效");
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
System.out.println("过滤器初始化成功");
}
}
3.配置web.xml文件中拦截URL的范围,也可以通过设置注解
<!-- filter标签用于说明哪个类是过滤器,并在应用启动时自动加载 --> <filter> <filter-name>MyFirstFilter</filter-name> <filter-class>com.imooc.filter.MyFirstFilter</filter-class> </filter> <filter-mapping> <filter-name>MyFirstFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
@WebFilter(filterName="MyAnnotationFilter",urlPatterns="/*")
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69917450/viewspace-2672850/ ,如需转载,请注明出处,否则将追究法律责任。