JAVAWEB前后分离--跨域

JAVAWEB前后分离–跨域

  1. 什么是跨域:

    跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。你可以理解为两个域名之间不能跨过域名来发送请求或者请求数据,否则就是不安全的,这种不安全也就是CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。

  2. 跨域:特征: 浏览器,JavaScript 正常http非浏览器调用可以支持。

  3. JavaWeb工程如何解决跨域 : 此处默认spring环境 springmvc4.2版本增加了对cors的支持。(springboot同样生效)

跨域全局配置

/**
 * 跨域全局配置
 */
@Configuration
public class MyWebAppConfigurer extends WebMvcConfigurerAdapter
{
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/api/**")
                .allowedOrigins("*")     //允许向该服务器提交请求的URI,*表示全部允许 例如:allowedOrigins("http://192.168.1.97,http://192.168.1.98")
                .allowedMethods("*")     //允许提交请求的方法,*表示全部允许  例如:allowedMethods("GET", "POST")
                .allowCredentials(false) //允许Cookie跨域  false:不允许
                .maxAge(3600);           //预检请求的缓存时间(秒),即在这个时间段里,对于相同的跨域请求不会再预检了
    }
}

跨域局部配置 @CrossOrigin这个注解在controller类中使用。

@CrossOrigin(origins = "http://192.168.1.97:8080", maxAge = 3600)
@RequestMapping("index")
@RestController
public class IndexController{

猜你喜欢

转载自blog.csdn.net/zl_1079167478/article/details/79575173