zoukankan      html  css  js  c++  java
  • websocket cors and gradle

    gradle need to use bootRepackage which will package all the dependencies, not to use jar task which will only package your main class code

    websocket use two levels of cors.

    1. http level:  

    package org.sang;

    import java.io.IOException;

    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.springframework.stereotype.Component;
    import org.springframework.web.bind.annotation.CrossOrigin;

    @CrossOrigin
    @Component
    public class SimpleCORSFilter implements Filter {

    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
    HttpServletResponse response = (HttpServletResponse) res;
    System.out.println("hello");
    HttpServletRequest reqs = (HttpServletRequest)req;
    response.setHeader("Access-Control-Allow-Origin", reqs.getHeader("Origin"));

    System.out.println(reqs.getHeader("Origin"));
    response.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE, PATCH");
    response.setHeader("Access-Control-Max-Age", "3600");
    response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    response.setHeader("Access-Control-Expose-Headers", "Location");
    response.setHeader("Access-Control-Allow-Credentials", "true");
    chain.doFilter(req, res);
    }

    @Override
    public void init(FilterConfig filterConfig) {}

    @Override
    public void destroy() {}

    }

    2 stomplevel:   

    public void registerStompEndpoints(StompEndpointRegistry stompEndpointRegistry) {
    stompEndpointRegistry.addEndpoint("/endpointSang").setAllowedOrigins("*").withSockJS();
    }

  • 相关阅读:
    windows10上运行Linux Bash Shell
    作为DBA,该不该买macbook
    MySQL5.5 同步到5.7 遇到一坑,导致主从断掉
    CentOS7下安装SQL SERVER linux版
    MySQL设置utf8mb4,支持emoji并验证
    Nginx在window环境下设置二级访问目录
    win10 如何给定脑固定ip
    react中 getFieldProps 方法定义说明
    node中npm结构详解以及自定义npm包上传到npm教程
    nodejs npm包管理常用命令介绍
  • 原文地址:https://www.cnblogs.com/goldengallo/p/7767801.html
Copyright © 2011-2022 走看看