目录
一、产生跨域的原因
二、错误描述
三、HTTP访问控制(CORS)
四、解决方案
1、@CrossOrigin 注解
2、设置头部信息
3、配置拦截器
4、web.xml配置
5、HttpClient 转发请求
6、spring-context.xml配置
五、带token的跨域问题解决方案
4、web.xml配置
名词解释:
1、Content-Type:实体头部用于指示资源的MIME类型 media type 。
2、Accept :用来告知(服务器)客户端可以处理的内容类型,这种内容类型用MIME类型来表示。
3、Origin :表明预检请求或实际请求的源站。
4、X-Requested-With:用来判断一个请求是传统的HTTP请求,还是Ajax请求。Ajax的请求一般都会带上X-Requested-With头域。
5、Last-Modified:标记请求的资源在服务器端最后被修改的时间。
配置代码:
- 把 java-property-utils-1.9.1.jar 和 cors-filter-2.6.jar 这两个jar包放到tomcat的lib目录下,或者直接在pom.xml中添加依赖:
<!-- https://mvnrepository.com/artifact/com.thetransactioncompany/cors-filter -->
<dependency>
<groupId>com.thetransactioncompany</groupId>
<artifactId>cors-filter</artifactId>
<version>2.5</version>
</dependency>
- 打开tomcat的安装目录下的conf文件夹,找到web.xml文件,并将下列代码添加进去(放在文件中间四百多行的位置即可),或者直接在项目中的web.xml进行添加。
<!-- 实现跨域 (filter配置放在其它所有filter的上面)-->
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter