问题
前后端分离会出现跨域问题
网页和数据是不同的来源,网页来自前端服务器,数据来自后端服务器
如果直接本地用浏览器打开与后端交互的index.html,会出现'Access-Control-Allow-Origin' header has a value 'null'报错。
1.spring MVC跨域:
在servlet中新建一个response对象,如果之前没有response的话,然后按如下设置:
// 最简单的处理方式
response.setHeader("Access-Control-Allow-Origin","*");
2.springBOOT跨域:
新建一个CORSConfiguration类,CORSConfiguration.java 放到controller下
package com.user;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@Configuration
public class CORSConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedMethods("*")
.allowedOrigins("*")
.allowedHeaders("*");
super.addCorsMappings(registry);
}
}