日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

多学一招总没错吧?SpringBoot解决前后端分离的跨域问题

發布時間:2025/3/8 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 多学一招总没错吧?SpringBoot解决前后端分离的跨域问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

🚀🚀扎哇太棗糕的博客首頁🚀🚀**

文章目錄

  • 🍊什么是跨域
  • 🍊跨域問題的解決策略
  • 🍊三種解決方法


🍊什么是跨域

??想要知道什么是跨域的話,我們可以通過一個小案例簡單了解一下跨域的概念:在項目代碼編寫的時候,我們將前端項目代碼和后端的項目代碼相分離開,一個運行在本地的8080端口一個運行在本地的8888端口,這也就是我們常說的前后端分離項目。現在使用前端的請求去調用后端的接口,就會產生以下的錯誤

Access to XMLHttpRequest at 'http://localhost:8888/請求名' from origin ‘http://localhost:8080’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the request resource.

??錯誤原因:基于瀏覽器的保護機制,當請求中缺少了一些http頭信息時,讀取響應的操作就會被阻止。出現這個問題并不是說后端沒有接收到前端發送過來的請求,相反后端接收請求并且將響應信息返回給了前端,但是返回的響應信息被前端瀏覽器所攔截了。
??這個保護機制就是瀏覽器的一種重要的安全策略——同源策略,該策略可以限制不同源之間的交互行為,從而有效避免一些瀏覽器層面的攻擊。所謂的同源就是指url中的協議、域名、端口三個都相同。反觀案例的url前端http://localhost:8080請求http://localhost:8888/請求名,協議和域名都相等但是端口卻不一樣導致兩個是不同源,不同源的話就會產生跨域問題。

🍊跨域問題的解決策略

??CROS(Cross Origin Resource Sharing)策略,全稱為跨域資源共享策略,是后端用來解決跨域問題的一個方案(當然前端也有解決跨域問題的對應方案),拋開底層具體的解決原理不說,今天就學習一下如何借助該策略實現跨域問題的解決。

🍊三種解決方法

??第一種也是最簡單但不常用的一種,只需要在后端接口方法上添加 @CrossOrigin 注解,即可解決對這個接口方法的請求跨域問題,但是在實際開發中一般都會有很多的方法,在每一個方法上都添加這個注解的話明顯就會很影響使用感受。當然還可以將注解添加到類上,表示類中的所有方法都解決了跨域問題,但是類也不止一個還是麻煩。

@CrossOrigin @GetMapping("/請求名") public String sayHello() {return "hello world !"; }

第二種就是使用過濾器統一處理

// 對比著看,包千萬別導錯了 import org.springframework.context.annotation.Bean; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter;@Configuration public class CorsConfig {@Beanpublic CorsFilter corsFilter() {CorsConfiguration corsConfiguration = new CorsConfiguration();// 使用通配符* 允許所有的域請求corsConfiguration.addAllowedOrigin("*");// 使用通配符* 允許所有請求頭字段corsConfiguration.addAllowedHeader("*");// 使用通配符* 允許所有請求頭方法類型corsConfiguration.addAllowedMethod("*");UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();// 處理請求映射source.registerCorsConfiguration("/**", corsConfiguration);return new CorsFilter(source);} }

第三種就是使用WebMvc的配置類

// 對比著看,包千萬別導錯了 import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configuration public class WebMvcConfig implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**") // 設置映射.allowedOriginPatterns("*") // 設置域.allowedMethods("*") // 設置請求的方式GET、POST等.allowCredentials(true) // 設置是否攜帶cookie.maxAge(3600) // 設置設置的有效期 秒單位.allowedHeaders("*"); // 設置頭} }

總結

以上是生活随笔為你收集整理的多学一招总没错吧?SpringBoot解决前后端分离的跨域问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩国产在线一区 | 久热国产精品视频 | www.96av| 琪琪女色窝窝777777 | 视频在线观看网站免费 | 亚洲社区一区二区 | 精品黑人一区二区三区在线观看 | 日本免费一二区 | 精品中出| 欧美成人一区二免费视频软件 | 日本乱子伦xxxx | 偷偷色噜狠狠狠狠的777米奇 | 日本打白嫩屁股视频 | 免费男女乱淫真视频免费播放 | 极品白嫩少妇无套内谢 | 操操操干干干 | 欧美在线专区 | 国产高清精品一区二区三区 | 在线看国产视频 | 性色av一区二区三区四区 | 久久香蕉网站 | 久久亚洲无码视频 | 搡8o老女人老妇人老熟 | 久久深夜 | 瑟瑟视频在线观看 | 亚洲熟妇无码乱子av电影 | 国产美女久久久久 | 亚洲一区二区天堂 | 欧美一级特黄视频 | 91大神小宝寻花在线观看 | 在线视频观看一区二区 | 看国产一级片 | 中文字幕人妻一区二区三区在线视频 | 99视频一区二区 | 91精品人妻互换一区二区 | 第一毛片 | 亚洲天堂性 | 天堂中文视频在线 | 超碰96在线| 国产在线播放一区二区 | 国产成年人 | 国产一区日韩一区 | 国产www免费 | 深夜福利视频在线观看 | 精品国产伦一区二区三区 | 成人自拍网 | 国产午夜久久久 | 国产欧美一区二区三区在线 | 人妻人人澡人人添人人爽 | 午夜视频一区二区 | 美女交配 | 特级淫片裸体免费看 | 欧美日韩不卡一区二区三区 | 热久久最新网址 | 91在线资源| 丰满少妇xoxoxo视频 | 成人午夜小视频 | 精品美女久久久久 | 国产乱了高清露脸对白 | www五月天com| 国产又黄又爽 | aaa在线| 亚洲.www | 国产片黄色 | 爱爱爱爱网站 | 亚洲国产日本 | 国产aaaaaa | 日韩亚洲欧美在线观看 | 成年人三级视频 | 亚洲欧洲无码一区二区三区 | 国产无码精品视频 | 色爽视频| 国产一区二区不卡视频 | 一级黄色片在线看 | 99精品视频免费观看 | 大奶av| 性做爰裸体按摩视频 | 扒丝袜 | 欧美大黑b| 高hnp视频 | 日韩av一区二区三区 | 国产100页| 日本免费黄网站 | 免费精品无码AV片在线观看黄 | 夜夜躁很很躁日日躁麻豆 | 亚洲精品午夜精品 | 中文字幕电影av | 一区二区日韩av | 精品一区亚洲 | 一区二区不卡免费视频 | bbbbbxxxxx性欧美 | 亚洲88av| 欧美射射射 | 日韩欧美亚洲 | 性色AV无码久久一区二区三 | wwwav在线播放 | 一本色道久久综合熟妇 | 国产精品一区二区三区免费观看 | 青青青在线免费 |