filter接口实现
/**
* @Author: liftsail
* @Date: 2022/9/15 10:03
* @Description: 不积跬步无以至千里
*/
@Component
@Slf4j
@WebFilter(filterName = "urlFilter", urlPatterns = "/*")
public class URlFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
Filter.super.init(filterConfig);
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
String requestUrl = ((HttpServletRequest) request).getRequestURL().toString();
String requestUri = ((HttpServletRequest) request).getRequestURI();
String contextPath = ((HttpServletRequest) request).getContextPath();
String servletPath = ((HttpServletRequest) request).getServletPath();
log.info(requestUrl + "\n" +
requestUri + "\n" +
contextPath + "\n" +
servletPath);
chain.doFilter(request, response);
/*if (requestUri.equals("/")) {
requestUri = "/rootDir";
}
boolean allowedPath = requestUri.contains("assets")
|| requestUri.contains("txt")
|| requestUri.contains("js")
|| requestUri.contains("png")
|| requestUri.contains("ico")
|| requestUri.contains("html")
|| requestUri.contains("css")
|| requestUri.contains("/rootDir")
|| requestUri.contains("/user/login");
if (allowedPath) {
chain.doFilter(request, response);
} else {
HttpSession session = ((RequestFacade) request).getSession();
if (ObjectUtil.isEmpty(session.getAttribute("loginUser"))) {
request.getRequestDispatcher("/error/loginExpired").forward(request, response);
} else {
chain.doFilter(request, response);
}
}*/
}
@Override
public void destroy() {
Filter.super.destroy();
}
}
分类:
SpringBoot
, JAVA / java基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?