在匹配的请求被处理前和处理后分别执行一段代码。
/* 会匹配所有导致图片和css加载失败
特点
•
可以配置多个过滤器,过滤顺序是从匹配范围小的那个开始,然后从范围大的那个结束
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
@WebFilter("userFilter")
public class UserFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
Filter.super.init(filterConfig);
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
User user;
if ((user = (User) request.getSession().getAttribute("loginUser")) == null) {
user = new User();
user.setUserName("顾客" + request.getSession().getId().substring(0, 4));
user.setSessionId(request.getSession().getId());
request.getSession().setAttribute("loginUser", user);
}
filterChain.doFilter(servletRequest, servletResponse);
}
@Override
public void destroy() {
Filter.super.destroy();
}
}
评论区