Java: Filter
Java之Filter - Zh1z3ven - 博客园 (cnblogs.com)
package io.veal.filter; import javax.servlet.*; import java.io.IOException; public class FilterA implements Filter{ @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException{ System.out.println("\033[37;7m" + "FilterA pre" + "\033[0m"); chain.doFilter(request, response); System.out.println("\033[37;7m" + "FilterA post" + "\033[0m"); } @Override public void init(FilterConfig filterConfig) throws ServletException{ System.out.println("\033[37;7m" + "FilterA init" + "\033[0m"); String param = filterConfig.getInitParameter("param"); // init方法中, 读取init-param System.out.println("FilterA init Method param = " + param); Filter.super.init(filterConfig); } @Override public void destroy(){ System.out.println("\033[37;7m" + "FilterA destroy" + "\033[0m"); Filter.super.destroy(); } }
package io.veal.filter; import javax.servlet.*; import java.io.IOException; public class FilterB implements Filter{ @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException{ System.out.println("\033[37;7m" + "FilterB pre" + "\033[0m"); chain.doFilter(request, response); System.out.println("\033[37;7m" + "FilterB post" + "\033[0m"); } @Override public void init(FilterConfig filterConfig) throws ServletException{ System.out.println("\033[37;7m" + "FilterB init" + "\033[0m"); Filter.super.init(filterConfig); } @Override public void destroy(){ System.out.println("\033[37;7m" + "FilterB destroy" + "\033[0m"); Filter.super.destroy(); } }
package io.veal.config; import io.veal.filter.FilterA; import io.veal.filter.FilterB; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class FilterConfig{ @Bean public FilterRegistrationBean<FilterA> filterA(){ FilterRegistrationBean<FilterA> filterRegistrationBean = new FilterRegistrationBean<>(); filterRegistrationBean.setName("FilterA"); filterRegistrationBean.setFilter(new FilterA()); filterRegistrationBean.addUrlPatterns("/servlet/category/*"); // 不能加context-path, 使用 * filterRegistrationBean.setOrder(Integer.MAX_VALUE - 100); // 数字越小,优先级越高 filterRegistrationBean.addInitParameter("param", "value"); filterRegistrationBean.setEnabled(true); return filterRegistrationBean; } @Bean public FilterRegistrationBean<FilterB> filterB(){ FilterRegistrationBean<FilterB> filterRegistrationBean = new FilterRegistrationBean<>(); filterRegistrationBean.setName("FilterB"); filterRegistrationBean.setFilter(new FilterB()); filterRegistrationBean.addUrlPatterns("/servlet/category/*"); // 不能加context-path, 使用 * filterRegistrationBean.setOrder(Integer.MAX_VALUE - 1000); // 数字越小,优先级越高 filterRegistrationBean.setEnabled(true); return filterRegistrationBean; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-05-02 更改powershell执行脚本权限
2021-05-02 node.js mysql cheerio superagent 小爬虫 nodemailer