前后端分離跨域springBoot跨域有效解決問題
前后端分離跨域springBoot跨域有效解決
之前一直聽過跨域這個(gè)詞,以前的項(xiàng)目也有跨域需要處理,但是自己未參與也未曾看過別人是怎么解決的。
最近有個(gè)前后端完全分離項(xiàng)目, 需要解決一下跨域問題;解決完了就簡單在此記錄一下
同源策略
請(qǐng)求的url地址,必須與瀏覽器上的url地址處于同域上,也就是域名,端口,協(xié)議相同.
比如:我在前端頁面上的域名是3000端口,請(qǐng)求后臺(tái)項(xiàng)目端口為8000的域名
這個(gè)時(shí)候在瀏覽器上會(huì)報(bào)錯(cuò):

這樣后臺(tái)肯定是進(jìn)不去,所以直接上代碼。
以下是springboot解決方案
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
@Configuration
public class MyConfiguration {
@Bean
public FilterRegistrationBean corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);
// 設(shè)置域名你要允許的網(wǎng)站,如果全允許則設(shè)為 *
//config.addAllowedOrigin("http://127.0.0.1:3000");
config.addAllowedOrigin("*");
// 如果要限制 HEADER 或 METHOD 請(qǐng)自行更改
config.addAllowedHeader("x-requested-with,content-type,requesttype");
config.addAllowedMethod("*");
source.registerCorsConfiguration("/**", config);
FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
// 這個(gè)順序很重要哦,為避免麻煩請(qǐng)?jiān)O(shè)置在最前
bean.setOrder(0);
return bean;
}
}頁面ajax正常請(qǐng)求就可以訪問了
url示例:
http://127.0.0.1:80/person/checkStatusPerson
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot實(shí)現(xiàn)啟動(dòng)項(xiàng)目后立即執(zhí)行的方法總結(jié)
在項(xiàng)目開發(fā)中某些場景必須要用到啟動(dòng)項(xiàng)目后立即執(zhí)行方式的功能,所以這篇文章就來和大家聊聊實(shí)現(xiàn)立即執(zhí)行的幾種方法,希望對(duì)大家有所幫助2023-05-05
JAVA基于靜態(tài)數(shù)組實(shí)現(xiàn)棧的基本原理與用法詳解
這篇文章主要介紹了JAVA基于靜態(tài)數(shù)組實(shí)現(xiàn)棧的基本原理與用法,結(jié)合實(shí)例形式詳細(xì)分析了JAVA基于靜態(tài)數(shù)組實(shí)現(xiàn)棧相關(guān)原理、用法與操作注意事項(xiàng),需要的朋友可以參考下2020-03-03
Java使用wait/notify實(shí)現(xiàn)線程間通信上篇
wait()和notify()是直接隸屬于Object類,也就是說所有對(duì)象都擁有這一對(duì)方法,下面這篇文章主要給大家介紹了關(guān)于使用wait/notify實(shí)現(xiàn)線程間通信的相關(guān)資料,需要的朋友可以參考下2022-12-12
解決Java項(xiàng)目啟動(dòng)報(bào)錯(cuò):Logback?configuration?error?detected:問題
這篇文章主要介紹了解決Java項(xiàng)目啟動(dòng)報(bào)錯(cuò):Logback?configuration?error?detected:問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
java基礎(chǔ)--自己動(dòng)手實(shí)現(xiàn)一個(gè)LRU
這篇文章主要介紹了運(yùn)用方案如何實(shí)現(xiàn)LUR,文章中通過代碼講解的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)有一定的參考價(jià)值,感興趣的朋友可以參考一下2021-08-08
Java實(shí)現(xiàn)矩陣乘法以及優(yōu)化的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)矩陣乘法以及優(yōu)化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
SpringBoot實(shí)現(xiàn)Word和PDF互相轉(zhuǎn)換的操作詳解
這篇文章主要為大家詳細(xì)介紹了SpringBoot實(shí)現(xiàn)Word和PDF互相轉(zhuǎn)換操作的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-12-12

