目录

Java后端解决跨域问题

目录

Java后端解决跨域问题

在前后端分离情况下,前端端口与后端端口不一致时,请求数据是会被浏览器阻止的,即必须保持同源机制,源指:协议·主机·端口都要保持一致。但是我们在项目中经常需要在不同端口中进行不同的数据请求,常常需要经历跨域。解决跨域问题可以在前端或后端,这里我们以后端为例子:

编写一个跨域的工具类:

主要用到了Corsilter

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@Configuration
public class CorConfig {

        private static final long MAX_AGE = 24*60*60;

        @Bean
        public CorsFilter corsFilter(){
            UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();
            CorsConfiguration corsConfiguration = new CorsConfiguration();
            corsConfiguration.addAllowedOrigin("*");
            corsConfiguration.addAllowedHeader("*");
            corsConfiguration.addAllowedMethod("*");
            corsConfiguration.setMaxAge(MAX_AGE);
            urlBasedCorsConfigurationSource.registerCorsConfiguration("/**",corsConfiguration);
            return new CorsFilter(urlBasedCorsConfigurationSource);


        }





}