跨域及跨域的解决方案(java)

一。什么是跨域。

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

  协议,域名,端口三者都相同叫同源,不同就叫非同源。

  发送的请求url的协议,域名,端口三者任何一样与当前页面地址不同就是跨域。一般出现在前后端分离开发的架构中。

  

 二。解决方案(java)

    《1》如果是springboot应用:增加一个全局配置就可以了

    

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;


@Configuration
public class CORSConfig {

    @Bean
    public WebMvcConfigurer corsConfigurer(){
        return new WebMvcConfigurer() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**")
                        .allowedHeaders("*")
                        .allowedMethods("*")
                        .maxAge(86400L)
                        .allowedOrigins("*");
            }
        };
    }
}

    《2》使用注解解决:对于spring应用或者springboot应用,一般使用注解都是可以解决跨域问题

    

  

原文地址:https://www.cnblogs.com/yangxiaoli/p/14509825.html