zoukankan      html  css  js  c++  java
  • 跨域过滤器

    @Component
    public class CorsFilter implements Filter {
    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException,
    ServletException {
    HttpServletRequest request = (HttpServletRequest) req;
    HttpServletResponse response = (HttpServletResponse) res;
    response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
    response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT, GET");
    response.setHeader("Access-Control-Max-Age", "3600");
    response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
    response.setHeader("Access-Control-Allow-Headers", "token,userId,Content-Type,x-is-mini-program-environment");
    response.setHeader("Access-Control-Allow-Credentials", "true");
    // HttpServletRequestWrapper requestWrapper = new HttpServletRequestWrapper((HttpServletRequest) request) {
    // /**
    // */
    // @Override
    // public String getContentType() {
    // // 先从原本的Request中获取头,如果为空且名字为token,则从参数中查找并返回
    // String contentType = super.getContentType();
    //
    //// if("Content-Type".equals(name)){
    //// String contentType = request.getHeader("Content-Type");
    // return contentType.replace("multipart/form-data,","");
    //// }
    //// return superHeader;
    // }
    // };


    // request.getContentType(); //setAttribute("Content-Type", contentType.replace("multipart/form-data,",""));
    chain.doFilter(request, res);
    }

    @Override
    public void init(FilterConfig filterConfig) {
    }

    @Override
    public void destroy() {
    }
    }

  • 相关阅读:
    存储过程语法二
    存储过程语法一
    存储过程的优点
    .NET中Redis安装部署及使用方法简介
    UEditor富文本web编辑器
    未找到与约束contractname Microsoft.VisualStudio.Utilities.IContentTypeRegistryService
    comet 推送消息到客户端
    文本框 只能输入数字和小数点验证
    asp.net Cache
    Windows10放开Administrator权限
  • 原文地址:https://www.cnblogs.com/-mzh/p/11583598.html
Copyright © 2011-2022 走看看