服务器端解决跨域问题的三种方法
来源:互联网 发布:思维导图软件 编辑:程序博客网 时间:2024/05/29 19:55
跨域是指html文件所在的服务器与ajax请求的服务器是不同的ip+port,例如:
- ‘192.168.1.1:8080’ 与 ‘192.168.1.2:8080’是不同的域。
- ‘192.168.1.1:8080’ 与 ‘192.168.1.1:8081’是不同的域。
解决此类问题的方法很多,有需要客户端和服务端都要更改的,例如jsonp,iframe等等;有只需要客户端更改的,这种情况只能出现在hybrid app开发中,即通过调用native方法来进行网络请求;有只需要服务端配置的,下面介绍3种服务端配置的方法。
第一种
如果您使用的mvc框架是spring4.2以上的话,一个@CrossOrigin就可以搞定。将@CrossOrigin加到Controller上,那么这个Controller所有的请求都是支持跨域的,代码如下:
- 1
- 2
- 3
将@CrossOrigin加到请求方法上,那么这个请求是支持跨域的,代码如下
- 1
- 2
- 3
更详细的@CrossOrigin介绍,请参看这里
第二种
全局配置,也需要spring4.2以上。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
.addCorsMappings()中的参数代表支持跨域的url,.allowedOrigins()中的参数代表可以访问该接口的域名,设置为”*”可支持所有域。
第三种
这种方法就跟框架无关了,需要两个jar包,点击这里进行下载,两个jar包可以放的程序里,也可以放到tomcat中,然后将下面的配置写到web.xml中就可以了
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
阅读全文
0 0
- 服务器端解决跨域问题的三种方法
- 服务器端解决跨域问题的三种方法
- 服务器端解决跨域问题的三种方法
- 服务器端解决跨域问题的三种方法
- 服务器端解决跨域问题的三种方法
- 服务器端解决跨域问题的方法
- 三种方法解决跨域问题
- .net解决js访问服务器端,跨域访问的问题
- 服务器端解决JS跨域调用问题
- springMVC解决跨域jsonp乱码问题的三种方法
- 解决IE下AJAX缓存问题的三种方法
- 解决ScrollView嵌套ListView问题的三种方法
- asp.net服务器端跳转页面的三种方法
- 跨域问题:解决跨域的三种方案
- java服务器端解决跨域问题【工具包系列】
- 解决跨域 ajax 请求 服务器端 session 不能保存问题
- 三种青年解决“跨线程访问窗口问题”的方法
- 解决线程同步的三种方法:
- HDU 2546 饭卡
- python random.shuffle()
- 基于Java形式的Mybatis逆向工程(无配置文件,生成注释)
- java 中 int 类型的取值范围
- [LeetCode] DP 之 Maximum Length of Repeated Substring
- 服务器端解决跨域问题的三种方法
- remove-duplicates-from-sorted-list Java code
- 继承与多态及抽象类与接口
- Pots POJ
- Mysql InnoDB的索引,锁如何协调作用以实现事务隔离级别?
- 继承
- 02:注释,标识符命名规则,关键字
- 从命令行输入5个整数,放入一整型数组,然后打印输出。要求: 如果输入数据不为整数,要捕获输入不匹配异常,显示“请输入整数”;如果输入数据多余5个,捕获数组越界异常,显示“请输入5个整数”。 无论是否发
- java Data、String、Long三种日期类型之间的相互转换