web開發 CORS支援

2021-08-21 14:14:43 字數 2034 閱讀 5209

一、簡介

web 開發經常會遇到跨域問題,解決方案有:jsonp,iframe,cors 等等

1.1、cors與jsonp相比

1、jsonp只能實現get請求,而cors支援所有型別的http請求。

2、使用cors,開發者可以使用普通的xmlhttprequest發起請求和獲得資料,比起jsonp 有更好的錯誤處理。

3、jsonp主要被老的瀏覽器支援,它們往往不支援cors,而絕大多數現代瀏覽器都已經支援了cors瀏覽器支援情況

chrome 3+

firefox 3.5+

opera 12+

safari 4+

internet explorer 8+

二、實現cors

說明:在springmvc中可以配置全域性的規則,也可以使用@crossorigin註解進行細粒度的配置

2.1、全域性配置

方式一:註冊bean

package com.example.demo.utils.configuration;

import org.springframework.context.annotation.bean;

import org.springframework.context.annotation.configuration;

import org.springframework.web.servlet.config.annotation.corsregistry;

import org.springframework.web.servlet.config.annotation.webmvcconfigurer;

import org.springframework.web.servlet.config.annotation.webmvcconfigureradapter;

/** * created by dell on 2017/6/18.

*/@configuration

public class customcorsconfiguration };}

}

說明:表示對於/api請求下的所以資源,允許http://localhost:8080訪問

方式二:繼承webmvcconfigureradapter

package com.example.demo.utils.configuration;

import org.springframework.web.servlet.config.annotation.corsregistry;

import org.springframework.web.servlet.config.annotation.webmvcconfigureradapter;

/** * 跨域請求處理

* @author: 我愛大金子

* @description: 跨域請求處理

* @date: created in 10:12 2017/6/18

*/@configuration

public class customcorsconfiguration2 extends webmvcconfigureradapter 

}

說明:表示對於/api請求下的所以資源,允許http://localhost:8080訪問

2.2、細粒度配置

在controller中加入@crossorigin註解,如:@crossorigin(origins = "http://localhost:8080")

本文出自 「我愛大金子」 部落格,請務必保留此出處

springboot(9):web開發-cors支援

標籤:springboot

springboot web開發-cors支援

springboot支援CORS解決跨域

cors是有w3c制定的一種跨域資源共享技術標準,其主要目的就是解決前端的跨域請求。最常見的前端跨域請求解決方案是jsonp,但是這個方式只支援get請求。對比來說cors可以支援多種http請求方式。下面介紹下怎麼springboot使用cors如何處理跨域問題 直接上 如下圖中使用 crosso...

SpringBoot新增支援CORS跨域訪問

原文 基於springbooot專案搭建可以站外ajax請求訪問的跨域資源伺服器。使用idea開發工具建立乙個springboot專案,預先新增web依賴即可,專案結構如下圖1所示 圖1我們只需要新增專案web依賴就可以了,下面我們開始新增cors的配置資訊,我們建立乙個corsconfigurat...

SpringBoot新增支援CORS跨域訪問

cors cross origin resource sharing 跨域資源共享 是乙個w3c標準,它允許瀏覽器向跨域伺服器傳送ajax請求,打破了ajax只能訪問本站內的資源限制。我們在開發中都會遇到前端請求後台伺服器出現跨域錯誤,下面我就講一下如何讓你的springboot專案支援cors跨域...