Java利用cors实现跨域请求实例

网友投稿 272 2023-05-12


Java利用cors实现跨域请求实例

由于ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告

网站开发,在某些情况下需要用到跨域。

什么是跨域?

跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。

ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告。

常见解决跨域的方式

script标签

iframe

jsonp

服务端中转请求

cors

今天的主角cors

全称:Cross-Origin Resource Sharing

中文意思:跨域资源共享

它在维基百科上的定义是:跨域资源共享(CORS )是一种网络浏览器的技术规范,它为Web服务器定义了一种方式,允许网页从不同的域访问其资源。而这种访问是被同源策略所禁止的。CORS系统定义了一种浏览器和服务器交互的方式来确定是否允许跨域请求。 它是一个妥协,有更大的灵活性,但比起简单地允许所有这些的要求来说更加安全。

下面就说一下cors在java tomcat下如何配置

首先下载jar包

cors-filter与java-property-utils

com.thetransactioncompany

cors-filter

2.5

com.thetransactioncompany

java-property-utils

1.10

修改web.xml

增加以下代码(最好放在其他filter前边)

CORS

com.thetransactioncompany.cors.CORSFilter

cors.allowOrigin

*

cors.supportedMethods

GET, POST, HEAD, PUT, DELETE

cors.supportedHeaders

Accept, Origin, X-Requested-With, Content-Type, Last-Modified

cors.exposedHeaders

Set-Cookie

cors.supportsCredentials

true

CORS

/*

jquery请求示例

$.ajax("url", {

type: "POST",

xhrFields: {

withCredentials: true,

useDefaultXhrHeader: false

},

data: {

type: "test"

},

dataType: 'json',

crossDomain: true,

success: function(data, status, xhr) {

console.log(data);

}

});


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java存储以及java对象创建的流程(详解)
下一篇:实现接口方法 快捷键(怎样实现接口)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~