網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
springboot過(guò)濾器
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容器中獲取到j(luò)xJson bean對(duì)象
//可查看上一個(gè)博客,路徑: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());
//業(yè)務(wù)邏輯
{業(yè)務(wù)邏輯}
filterChain.doFilter(httpServletRequest,httpServletResponse);
}
}
使過(guò)濾器生效
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
相關(guān)推薦
- 2022-03-14 網(wǎng)關(guān)解決Response to preflight request doesn‘t pass acc
- 2022-09-22 vrrp協(xié)議與keepalived淺析
- 2024-03-17 bootloader配置權(quán)限過(guò)高會(huì)怎么樣?
- 2022-08-18 GoFrame錯(cuò)誤處理常用方法及錯(cuò)誤碼使用示例_Golang
- 2023-07-29 koa2+sequelize中websocket的使用
- 2022-11-25 C++關(guān)鍵字之likely和unlikely詳解_C 語(yǔ)言
- 2023-07-25 適用SpringMVC實(shí)現(xiàn)圖片上傳功能
- 2022-04-11 左DIV寬度固定,右DIV適應(yīng)剩下的寬度
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支