欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot過濾器執(zhí)行兩次的解決及跨域過濾器問題

 更新時間:2023年12月11日 10:35:47   作者:源人生之路  
這篇文章主要介紹了springboot過濾器執(zhí)行兩次的解決及跨域過濾器問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

springboot過濾器執(zhí)行兩次的解決及跨域過濾器

在進行springboot整合過濾器的過程中可能會遇到過濾器執(zhí)行兩次的問題

針對這個問題可能出現(xiàn)的一種原因就是因為在請求執(zhí)行完之后瀏覽器會再發(fā)一次請求.ico的請求

解決的方法就是在執(zhí)行過濾器方法之前再加一層判斷就好了.

HttpServletRequest request = (HttpServletRequest)servletRequest;
if (request.getRequestURL().toString().matches(".+.ico$")) {
     filterChain.doFilter(servletRequest, servletResponse);
 } else {
     // do something yourself
     filterChain.doFilter(servletRequest, servletResponse);
 }

在不使用框架提供的跨域的方案的情況下可以自己注冊一個通用的跨域請求過濾器,具體的代碼如下

首先先注冊一個過濾器

到springboot

@Bean
    public FilterRegistrationBean corsFilter() {
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
        CorsFilter corsFilter = new CorsFilter();
        filterRegistrationBean.addUrlPatterns("/*");
        filterRegistrationBean.setFilter(corsFilter);
        return filterRegistrationBean;
    }

具體過濾器的代碼

如下

public class CorsFilter implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest)servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        if (request.getRequestURL().toString().matches(".+.ico$")) {
            filterChain.doFilter(servletRequest, servletResponse);
        } else {
            String origin = request.getHeader("Origin");
	       // 簡單請求跨域,如果是跨域請求在響應頭里面添加對應的Origin
	        if (!StringUtils.isEmpty(origin)) {
	            response.addHeader("Access-Control-Allow-Origin", origin);
	        }
	        // 非簡單請求跨域
	        response.addHeader("Access-Control-Allow-Headers", "content-type");
	        // 允許跨域請求的方法
	        response.addHeader("Access-Control-Allow-Methods", "*");
	        // 預檢命令緩存 1小時
	//        response.addHeader("Access-Control-Max-Age", "3600");
	        // 攜帶cookie的跨域
	        response.addHeader("Access-Control-Allow-Credentials", "true");
	        // 放行方法
	        filterChain.doFilter(servletRequest, servletResponse);
        }
    }
    @Override
    public void destroy() {
    }
}

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • MyBatis-Plus通用CRUD操作的實現(xiàn)

    MyBatis-Plus通用CRUD操作的實現(xiàn)

    MyBatis-Plus是基于MyBatis的增強工具,主要目的是簡化MyBatis的使用并提升開發(fā)效率,它提供了通可以用CRUD操作、分頁插件、多種插件支持、自動代碼生成器等功能,感興趣的可以了解一下
    2024-10-10
  • java編程實現(xiàn)簡單的網絡爬蟲示例過程

    java編程實現(xiàn)簡單的網絡爬蟲示例過程

    這篇文章主要為大家介紹了如何使用java編程實現(xiàn)一個簡單的網絡爬蟲示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-10-10
  • 詳解Java語言中的抽象類與繼承

    詳解Java語言中的抽象類與繼承

    這篇文章主要為大家詳細介紹了Java語言中的抽象類與繼承的相關資料,文中的示例代碼講解詳細,對我們學習Java有一定的幫助,感興趣的小伙伴快跟隨小編一起了解一下
    2022-10-10
  • java處理日期的工具類DateUtil

    java處理日期的工具類DateUtil

    這篇文章主要為大家詳細介紹了java處理日期的工具類DateUtil,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • Java中實現(xiàn)代碼優(yōu)化的技巧分享

    Java中實現(xiàn)代碼優(yōu)化的技巧分享

    這篇文章主要跟大家談談優(yōu)化這個話題,那么我們一起聊聊Java中如何實現(xiàn)代碼優(yōu)化這個問題,小編這里有幾個實用的小技巧分享給大家,需要的可以參考一下
    2022-08-08
  • spring 整合JDBC和AOP事務的方法

    spring 整合JDBC和AOP事務的方法

    這篇文章主要介紹了spring 整合JDBC和AOP事務的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Java啟用Azure Linux虛擬機診斷設置

    Java啟用Azure Linux虛擬機診斷設置

    這篇文章主要介紹了Java啟用Azure Linux虛擬機診斷設置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • 深入探究Java中的HashMap為什么會產生死循環(huán)

    深入探究Java中的HashMap為什么會產生死循環(huán)

    HashMap?死循環(huán)發(fā)生在?JDK?1.8?之前的版本中,這篇文章主要來和大家深入探究一下為什么Java中HashMap會產生死循環(huán),感興趣的小伙伴可以了解一下
    2023-05-05
  • Java中如何將String轉JSONObject

    Java中如何將String轉JSONObject

    這篇文章主要介紹了Java中如何將String轉JSONObject,String類型轉JSONObject,下面有兩種方式可以進行轉換,本文結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • MyBatisPlus查詢投影與查詢條件詳細講解

    MyBatisPlus查詢投影與查詢條件詳細講解

    這篇文章主要介紹了MyBatisPlus DQL編程控制中的查詢投影、查詢條件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08

最新評論