zoukankan      html  css  js  c++  java
  • Springboot设置跨域的三种方式

    原文地址:https://www.cnblogs.com/cchilei/p/13685606.html

    方式一(精细配置)

    在需要跨域的整个Controller或者单个方法上添加@CrossOrigin注解

    方式二(全局配置)

    @Configuration
    public class WebMvcConfig extends WebMvcConfigurerAdapter {
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**")
                    .allowedOrigins("*")
                    .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
                    .maxAge(3600)
                    .allowCredentials(true);
        }
    }
    

    方式三(通过filter)

    @Component
    @WebFilter(urlPatterns = "/*", filterName = "authFilter") //这里的“/*” 表示的是需要拦截的请求路径
    public class PassHttpFilter implements Filter {
        @Override
        public void init(FilterConfig filterConfig) throws ServletException { }
        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
            HttpServletResponse httpResponse = (HttpServletResponse)servletResponse;
            httpResponse.setHeader("Access-Control-Allow-Headers","Origin, X-Requested-With, Content-Type, Accept");
            httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
            httpResponse.addHeader("Access-Control-Allow-Origin", "http://127.0.0.1:8080");
            filterChain.doFilter(servletRequest, httpResponse);
        }
        @Override
        public void destroy() { }
  • 相关阅读:
    Python包中__init__.py作用
    获取web页面xpath
    Selenium学习(Python)
    C++构造函数的选择
    分布式实时处理系统——C++高性能编程
    构建之法(邹欣)
    分布式实时处理系统——通信基础
    go语言-csp模型-并发通道
    redis.conf 配置说明
    Linux fork()一个进程内核态的变化
  • 原文地址:https://www.cnblogs.com/eyesfree/p/15127790.html
Copyright © 2011-2022 走看看