使用CORS解决跨域问题

一、产生跨域的原因:

使用CORS解决跨域问题_第1张图片

浏览器会向服务器发送一个Option方法的预检请求,如果服务器拒绝响应,浏览器就无法访问。因此我们可以针对Option请求来处理跨域问题。

二、解决办法:

在spingboot中针对option请求添加一个准入机制:

@SpringBootApplication
public class BackendApp {
    public static void main(String[] args) {
        new SpringApplicationBuilder(BackendApp.class).web(WebApplicationType.SERVLET).run(args);
    }



    // 增加一个准入机制。 当收到浏览器的option预检询问请求的时候,根据这个规则,返回给浏览器信息
    @Bean
    public WebMvcConfigurer corsWebMvcConfigurer() {
        return new WebMvcConfigurer() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
            //允许这个http://www.hudong.com请求路径,访问/user/下的所有方法  
              registry.addMapping("/user/**").allowedOrigins("http://www.hudong.com");
            }
        };
    }
}

 

你可能感兴趣的:(java)