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();
    }

  • 相关阅读:
    Python编码和文件操作
    Python的list和tuple及dictionary
    Python代码对比
    python的基础知识
    day2 springcloud组件(nacos注册/配置中心 feign组件请求调用 gateway网关)
    springcloud与springboot版本对应关系
    git配置
    day1 分布式基础概念
    spring中的依赖注入(DI)笔记
    20210223 爱生气的书店老板(滑动窗口)
  • 原文地址:https://www.cnblogs.com/goldengallo/p/7767801.html
Copyright © 2011-2022 走看看