国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

簡單了解SpringBoot過濾器及使用方式

瀏覽:4日期:2023-05-20 15:09:30

過濾器簡介

過濾器依賴Servlet容器,屬于Servlet規范的一部分。 在實現上基于Servlet容器的函數回調,可以對幾乎所有請求進行過濾。 Filter的生命周期由Servlet容器管理。

過濾器執行流程

簡單了解SpringBoot過濾器及使用方式

過濾器配置使用方式一

@Order(1) // 指定過濾器的執行順序@WebFilter(filterName = 'CostTimeFilter', urlPatterns = '/*' , initParams = { @WebInitParam(name = 'URL', value = 'http://localhost:8080')})public class CostTimeFilter implements Filter { private String url; /** * filter對象只會創建一次,init方法也只會執行一次。 */ @Override public void init(FilterConfig filterConfig) throws ServletException { this.url = filterConfig.getInitParameter('URL'); System.out.println('Filter init...'); } /** * 主要的業務代碼編寫方法 */ @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { long start = System.currentTimeMillis(); System.out.println(start + ' Filter doFilter before...'); filterChain.doFilter(servletRequest, servletResponse); long end = System.currentTimeMillis(); System.out.println(end + 'Filter doFilter after...'); } /** * 在銷毀Filter時自動調用。 */ @Override public void destroy() { System.out.println('Filter destroy...'); }}

@RestControllerpublic class IndexContoller { @RequestMapping('/query') public void query() throws Exception { System.out.println('IndexContoller query...'); }}

@SpringBootApplication@ServletComponentScan // 掃描 Servlet 相關的組件public class SpringBootFilterApplication { public static void main(String[] args) { SpringApplication.run(SpringBootFilterApplication.class, args); }}

過濾器配置方式二

public class CostTimeFilter implements Filter { private String url; /** * filter對象只會創建一次,init方法也只會執行一次。 */ @Override public void init(FilterConfig filterConfig) throws ServletException { this.url = filterConfig.getInitParameter('URL'); System.out.println('Filter init...'); } /** * 主要的業務代碼編寫方法 */ @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { long start = System.currentTimeMillis(); System.out.println(start + ' Filter doFilter before...'); filterChain.doFilter(servletRequest, servletResponse); long end = System.currentTimeMillis(); System.out.println(end + 'Filter doFilter after...'); } /** * 在銷毀Filter時自動調用。 */ @Override public void destroy() { System.out.println('Filter destroy...'); }}

@Configurationpublic class FilterConfig { @Bean public FilterRegistrationBean registFilter() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(new CostTimeFilter()); registration.addUrlPatterns('/*'); registration.setName('CostTimeFilter'); registration.setOrder(1); return registration; }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 武胜县| 镇沅| 邵阳县| 沁阳市| 时尚| 县级市| 建德市| 栖霞市| 吉木乃县| 沙雅县| 鹤岗市| 乌兰县| 那曲县| 循化| 铜梁县| 论坛| 遂平县| 金门县| 禹州市| 牟定县| 道真| 宣武区| 乌兰县| 东城区| 灵武市| 梁河县| 潜山县| 托克逊县| 达日县| 中阳县| 通化市| 资中县| 长葛市| 巨鹿县| 金堂县| 井冈山市| 宁河县| 惠州市| 江达县| 河间市| 佳木斯市|