久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

簡單了解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
相關文章:
主站蜘蛛池模板: 章丘市| 云霄县| 星子县| 湛江市| 广水市| 潞城市| 日照市| 乌兰浩特市| 永顺县| 瓦房店市| 牡丹江市| 金寨县| 封开县| 望江县| 新闻| 桃江县| 宜川县| 体育| 富锦市| 宁夏| 凭祥市| 城固县| 泸州市| 马关县| 涿州市| 江口县| 长顺县| 宣武区| 兴文县| 邢台市| 阳曲县| 甘谷县| 定日县| 平陆县| 屏边| 来安县| 托克托县| 新兴县| 县级市| 河源市| 勐海县|