網站首頁 編程語言 正文
springboot過濾器
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import org.springframework.web.filter.OncePerRequestFilter;
import javax.servlet.FilterChain;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.List;
public class BmXyCnsFilter extends OncePerRequestFilter {
MyRestTemplate restTemplate;
List list;
@Override
protected void initFilterBean() throws ServletException {
ServletContext servletContext = getServletContext();
WebApplicationContext webApplicationContext = WebApplicationContextUtils.getWebApplicationContext(servletContext);
restTemplate= webApplicationContext.getBean(MyRestTemplate.class);
//從spring容器中獲取到jxJson bean對象
//可查看上一個博客,路徑:https://blog.csdn.net/Denial_learn/article/details/122415367?spm=1001.2014.3001.5501
list=(List) webApplicationContext.getBean("jxJson");
}
@Override
protected void doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException {
HttpSession session = httpServletRequest.getSession();
Visit visit = (Visit) session.getAttribute("SESSION_VISIT_______");
String requestURI = httpServletRequest.getRequestURI();
String substring = requestURI.substring(requestURI.indexOf("/"), requestURI.length());
//業務邏輯
{業務邏輯}
filterChain.doFilter(httpServletRequest,httpServletResponse);
}
}
使過濾器生效
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 getBmXyFilter(){
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
registrationBean.setFilter(new BmXyCnsFilter());
registrationBean.addUrlPatterns("/*");
registrationBean.setName("bmxyFilter");
registrationBean.setOrder(2);
return registrationBean;
}
}
原文鏈接:https://blog.csdn.net/Denial_learn/article/details/122416019
相關推薦
- 2022-07-09 Jquery操作DOM元素方法詳解_jquery
- 2022-11-21 Android?Jetpack系列之App?Startup使用詳解_Android
- 2023-02-25 C++11如何引入的尾置返回類型_C 語言
- 2022-12-04 Android性能優化死鎖監控知識點詳解_Android
- 2022-04-22 docker拉取常用開發工具
- 2022-04-10 微信小程序canvas drawImage 圖片展示的方法
- 2023-10-10 uniapp實現預覽請求后臺接口返回的文件
- 2023-01-17 python?PyQt5(自定義)信號與槽使用及說明_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支