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

springboot如何實現前后端分離跨域訪問

 更新時間:2023年12月15日 09:37:42   作者:古甲哈醒  
這篇文章主要介紹了springboot如何實現前后端分離跨域訪問問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

在springboot項目中,前端html頁面和后端api接口是分離的,實際項目部署的時候也是分開部署的。

這樣由于IP不同或者端口不同,就存在跨域問題,導致html無法調用api。

為解決此問題,實際項目部署的時候一般有三種解決方案:

(1)使用Nginx反向代理

使用Nginx反向代理,根據訪問路徑進行攔截,如果是html則指向靜態(tài)頁,如果是api,則把請求跳轉到api的訪問地址。

一般這是大部分項目推薦使用的部署方式。

具體Nginx配置如下:

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    #前端頁面服務器
    server {
        #監(jiān)聽端口和域名
        listen       8080; 
        server_name  localhost;

        #添加頭部信息
        proxy_set_header Cookie $http_cookie;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        
        #攔截api接口訪問
        location /api/ {              
               proxy_pass http://localhost:8080/;  #注意:使用代理地址時末尾記得加上斜杠"/"。      
        }
        
        #攔截靜態(tài)頁html
        location / {
               root   html/www;  #注意:使用"/"攔截全路徑的時候記得放在最后。
               index  index.html index.htm;  #index表示首頁 
        }           
        
    }
}

(2)將api和html部署在同一個tomcat

由于跨域是IP和端口不同導致的,那么將html和api部署在同一個tomcat中,就不存在跨域問題。

只需將springboot項目打成war包和html部署在一就行,簡單方便。

這種方式只適合小型項目,一般不推薦。

(3)在springboot代碼層面允許跨域

在springboot項目代碼層面加入支持跨域配置,也可實現跨域訪問。

這種方式適合開發(fā)調試階段使用。

一般都要求邊開發(fā)邊調試,我就是與前端人員進行同步開發(fā)調試,在代碼層面開啟跨域訪問,開發(fā)調試起來非常方便。

springboot開啟跨域支持非常簡單,只需要在啟動類中配置WebMvcConfigurer,并重寫addCorsMappings方法即可。

@Configuration
public class MyMvcConfig {

    @Bean
    public WebMvcConfigurer  webMvcConfigurer(){
        return new WebMvcConfigurer() {

            //配置跨域
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**")     //允許的路徑
                        .allowedMethods("*")     //允許的方法
                        .allowedOrigins("*")       //允許的網站
                        .allowedHeaders("*")     //允許的請求頭
                        .allowCredentials(true)
                        .maxAge(3600);
            }
}

總結

以上三種方式均可解決跨域問題。

  • 方法1是推薦的部署方式;
  • 方法2是適合小項目;
  • 方法3是推薦開發(fā)調試階段使用

好了,這些僅為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • springboot讀取bootstrap配置及knife4j版本兼容性問題及解決

    springboot讀取bootstrap配置及knife4j版本兼容性問題及解決

    這篇文章主要介紹了springboot讀取bootstrap配置及knife4j版本兼容性問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Java中的MessageFormat.format用法實例

    Java中的MessageFormat.format用法實例

    這篇文章主要介紹了Java中的MessageFormat.format用法實例,本文先是講解了MessageFormat的語法,然后給出了多個操作實例,需要的朋友可以參考下
    2015-06-06
  • Mybatis使用foreach標簽實現批量插入方式

    Mybatis使用foreach標簽實現批量插入方式

    這篇文章主要介紹了Mybatis使用foreach標簽實現批量插入方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • springboot統(tǒng)一返回json數據格式并配置系統(tǒng)異常攔截方式

    springboot統(tǒng)一返回json數據格式并配置系統(tǒng)異常攔截方式

    這篇文章主要介紹了springboot統(tǒng)一返回json數據格式并配置系統(tǒng)異常攔截方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • spring中BeanPostProcessor的作用和使用注意事項

    spring中BeanPostProcessor的作用和使用注意事項

    在Spring框架中,BeanPostProcessor?是一個核心擴展接口,允許你在Bean實例化的過程中插入自定義邏輯,本文給大家介紹spring中BeanPostProcessor的作用,感興趣的朋友一起看看吧
    2025-04-04
  • springboot多項目結構實現

    springboot多項目結構實現

    本文主要介紹了springboot多項目結構實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • spring boot創(chuàng)建項目包依賴問題的解決

    spring boot創(chuàng)建項目包依賴問題的解決

    本篇文章主要介紹了spring boot創(chuàng)建項目包依賴問題的解決,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • java方法重載示例

    java方法重載示例

    方法重載是以統(tǒng)一的方式處理不同數據類型的一種手段,這篇文章主要介紹了java方法重載示例,需要的朋友可以參考下
    2014-03-03
  • Springboot詳解整合SpringSecurity實現全過程

    Springboot詳解整合SpringSecurity實現全過程

    Spring Security基于Spring開發(fā),項目中如果使用Springboot作為基礎,配合Spring Security做權限更加方便,而Shiro需要和Spring進行整合開發(fā)。因此作為spring全家桶中的Spring Security在java領域很常用
    2022-07-07
  • Java下載https文件并上傳阿里云oss服務器

    Java下載https文件并上傳阿里云oss服務器

    這篇文章主要介紹了Java下載https文件并上傳到阿里云oss服務器,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01

最新評論