Filter的概述
- 功能:
当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能 - 作用:
一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤…
快速入门
- 步骤:
- 定义一个类,实现接口Filter8
- 复写方法
- 配置拦截路径:
1.web.xml
2.注解
- 代码实现:
这里使用注解配置拦截路径
/**
* 过滤器快速入门程序
*/
@WebFilter("/*") //访问所有资源之前,都会执行该过滤器
public class FilterDemo01 implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("FilterDemo01被执行了......");
}
@Override
public void destroy() {
}
}
访问任意路径都会执行该Filter
但是会发现无法成功访问了index.jsp,因为Filter没有放行
需要在doFilter()方法中加上以下代码:
//放行
filterChain.doFilter(servletRequest,servletResponse);