spring 跨域 CORS (Cross Origin Resources Share) 跨域
Spring提供了三种方式跨域
1、CorsFilter 过滤器
2、<mvc:cors> Bean(全局,推荐使用)
3、@CrossOrigin注解
以上三种方式本质都是用来配置CorsConfiguration
1、CorsFilter 过滤器
首先创建一个自己的过滤器
这里我创建一个类,名字为MyCorsFilter
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter; import java.util.Collections; public class MyCorsFilter extends CorsFilter {
public MyCorsFilter() {
super(configurationSource());
}
private static UrlBasedCorsConfigurationSource configurationSource(){ UrlBasedCorsConfigurationSource source=new UrlBasedCorsConfigurationSource();
CorsConfiguration corsConfiguration=new CorsConfiguration();
/*
*允许跨域的地址
*http://127.0.0.1:8848*/
corsConfiguration.setAllowedOrigins(Collections.singletonList("http://127.0.0.1:8848"));
corsConfiguration.setAllowCredentials(true);
//允许跨域的路径
source.registerCorsConfiguration("/tagc",corsConfiguration);
return source;
}
}
创建好后,进行在web.xml文件进行配置
<filter>
<filter-name>cors</filter-name>
<!--过滤器地址-->
<filter-class>com.wbg.maven1128.controller.MyCorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>cors</filter-name>
<!--拦截所有-->
<url-pattern>/*</url-pattern>
</filter-mapping>

2、<mvc:cors> Bean(全局,推荐使用)
在spring-web里面进行配置

<mvc:cors>
<mvc:mapping path="/taga"
allowed-origins="http://127.0.0.1:8020"
allowed-methods="POST,GET, OPTIONS,DELETE,PUT"
allowed-headers="Content-Type,ContentType,Access-Control-Allow-Headers, Authorization, X-Requested-With"
allow-credentials="true"/>
</mvc:cors>
3、@CrossOrigin注解
定义在类上,所有方法有效,@CrossOrigin不带参数就是默认

定义在方法上,该方法有效

测试页面
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<script src="http://code.jquery.com/jquery.js"></script>
<body>
<button onclick="aa() ">开始</button>
<script> function aa(){
if(window.confirm("是否发送?")){ fetch("http://localhost:8080/taga",{
method:"get"
}).then(function(res){
resp.text().then(function(data){
console.log(data);
});
})
}
else {
fetch("http://localhost:8080/tagb",{
method:"get"
}).then(function(res){
res.text().then(function(data){
console.log(data);
}) })
}
}
</script>
</body>
</html>
跨域

spring 跨域 CORS (Cross Origin Resources Share) 跨域的更多相关文章
- CORS (Cross Origin Resources Share) 跨域
CORS 跨域 1 什么是跨域问题 基于安全考虑,浏览器会限制使用脚本发起任何跨域请求. 所谓的跨域请求,就是与当前页面的 http/ip/port 不一样的请求. 但在实际运用中,跨域获取数据的需求 ...
- Ajax本地跨域问题 Cross origin requests are only supported for HTTP
问题:打开本地html文件时,报错如下 Cross origin requests are only supported for protocol schemes: http, data,chrome ...
- 本地数据访问时出现跨域问题Cross origin requests are only supported for protocol schemes: ……
从桌面找到Chrome图标,右键属性,快捷方式,起始位置(安装路径) 注:在cmd中访问Program Files文件的方法 %ProgramFiles%=C:\Program Files %Prog ...
- Node.js 【CORS(cross origin resource sharing) on ExpressJS之笔记】
app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "*" ...
- 跨域问题:Cross origin requests are only supported for protocol schemes: http...
跨域:Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extensi ...
- Spring MVC配置CORS(解决跨域请求)
1. CORS 简介 同源策略(same origin policy)是浏览器安全的基石.在同源策略的限制下,非同源的网站之间不能发送 ajax 请求的. 为了解决这个问题,w3c 提出了跨源资源共享 ...
- Spring MVC学习总结(10)——Spring MVC使用Cors跨域
跨站 HTTP 请求(Cross-site HTTP request)是指发起请求的资源所在域不同于该请求所指向资源所在的域的 HTTP 请求.比如说,域名A(http://domaina.examp ...
- Spring Boot 通过CORS实现跨域
同源策略 很多人对跨域有一种误解,以为这是前端的事,和后端没关系,其实不是这样的,说到跨域,就不得不说说浏览器的同源策略. 同源策略是由 Netscape 提出的一个著名的安全策略,它是浏览器最核心也 ...
- spring boot:解决cors跨域问题的两种方法(spring boot 2.3.2)
一,什么是CORS? 1,CORS(跨域资源共享)(CORS,Cross-origin resource sharing), 它是一个 W3C 标准中浏览器技术的规范, 它允许浏览器向非同一个域的服务 ...
随机推荐
- TOJ 1721 Partial Sums
Description Given a series of n numbers a1, a2, ..., an, the partial sum of the numbers is defined a ...
- Nmap原理02 - 编写自己的服务探测脚本
编写自己的服务探测脚本 1. 添加自己的探测脚本 nmap-service-probes文件的格式将在第二节介绍,本节通过一个例子说明如何添加自己的服务探测脚本. AMQP协议,即Advanced M ...
- 清除浮动clear-left-right-both-none效果
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- SpringBoot | 第三十四章:CXF构建WebService服务
前言 上一章节,讲解了如何使用Spring-WS构建WebService服务.其实,创建WebService的方式有很多的,今天来看看如何使用apache cxf来构建及调用WebService服务. ...
- Java学习第二十天
1:递归(理解) (1)方法定义中调用方法本身的现象 举例:老和尚给小和尚讲故事,我们学编程 (2)递归的注意事项: A:要有出口,否则就是死递归 B:次数不能过多,否则内存溢出 C:构造方法不能递归 ...
- [转]Mysql几种索引类型的区别及适用情况
此为转载文章,仅做记录使用,方便日后查看,原文链接:https://www.cnblogs.com/yuan-shuai/p/3225417.html Mysql几种索引类型的区别及适用情况 如大 ...
- 注解实现AOP
package com.dch.service.aop; import java.text.SimpleDateFormat; import java.util.Arrays; import java ...
- Format - DateTime
1. Long Date/Short Date/Long Time/Short Time,可以在系统的“Region and Language”中找到相应设置: 2. ISO Format/Local ...
- javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver错误解决办法
今天不用eclipse.myeclipse等开发工具,纯手写JSP页面(有点作死)时突然出现以前从来没遇到过的问题,报错如下: HTTP Status 500 - java.lang.NoClassD ...
- 【SQL Server 2012】按倒序存储“分组统计”结果的临时表到新建表
程序预先说明: 本文访问的数据库是基于存有RDF三元组的开源数据库Localyago修改的库,其中只有一个表,表中有五个属性:主语subject.谓语predict.宾语object.主语的编号sub ...