一、过滤器(Filter)
1.1 什么是过滤器
过滤器是JavaWeb的三大组件(Servlet,Filter,Listener)之一
过滤是基于Servlet实现,主要的功能收对字符的编码格式,登录校验,敏感字的处理,跨域等问题进行过滤操作
Servlet
的工作原理是拦截配置好的客户端请求,然后对Request和Response进行处理。Filter过滤器
随着web应用的启动而启动,只初始化一次。
1.2过滤器实现
Filter的使用比较简单,只要实现Filter接口,并且重写Filter中的方法,init,doFilter,destroy即可
package com.itheima.filter;
import jakarta.servlet.*;
import jakarta.servlet.annotation.WebFilter;
import lombok.extern.slf4j.Slf4j;
import java.io.IOException;
@Slf4j
@WebFilter(urlPatterns = "/*")
public class DemoFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
log.info("过滤器初始化......");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
log.info("过滤器开始工作......");
// 放行
filterChain.doFilter(servletRequest,servletResponse);
}