java跨域调用方法_跨域访问的方式

跨域问题的推荐文章:

http://www.cnblogs.com/rainman/archive/2011/02/20/1959325.html

现在分布式的项目都涉及到跨域这个问题:

什么是同源:

同源,就是指两个页面具有相同的协议,主机(也常说域名),端口,三个要素缺一不可。相同的协议+域名+端口,我们可以确定是同源的。同源直接可以互相访问相互间的资源。

什么是跨域:

跨域,域名不同或者端口不同,协议不同,这些只要有一个不同就属于跨域。跨域不能随意访问不同域里面的资源的,比如分布式工程,a工程是不能访问b工程的资源的。

那么怎么解决这个问题呢?

跨域的解决方案?

两种:jsonp和httpclient

两种跨域的实现原理?

(1)jsonp的跨域原理:(通过js实现的跨域)

js是一种动态语言,不能单独使用,通常在页面与jsp一起使用,js的

原理是这样的:script标签的src通过跨域加载到资源之后,需要将资源解析成它自己所需要的js脚,只要这样才可以将数据返回。

所以我们必须将获取的资源转换成js脚本,才可以让src访问到资源后,将资源返回。

什么样子的算js脚本呢?

具有js标签的即我们可以当做js脚本,比如alert()方法,或者我们自己在

举个例子:

998342-20170421083417243-1456875798.png

从上面可以看到,ab工程之间的访问就是采用jsonp的方式进行跨域访问的,即js可以访问js。但是返回的脚本必须是js脚本。

即在a工程中的

所以总结如下:

998342-20170421081032587-81282922.png

(2)httpClient的方式实现跨域访问(通过java代码实现的跨域)

HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。

下载地址:

httpclient的原理就是http协议的原理,具体参阅HttpClient.API文档。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值