gscq073240

web.xml:

  <!-- 解决跨域过滤器 -->
  <filter>
    <filter-name>originFilter</filter-name>
    <filter-class>com.ztools.generatingtool.filter.OriginControllerFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>originFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

 

OriginControllerFilter.java:

package com.ztools.generatingtool.filter;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 解决跨域访问问题
 */
public class OriginControllerFilter implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    }


    private boolean filter(String url){
        //System.out.println(url);
        //boolean flag = url.trim().startsWith("http://localhost:8080/");
        boolean flag2 = url.trim().startsWith("http://192.168.0.200:8080/");
        return flag2;   // return flag || flag2;
    }
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest req = (HttpServletRequest) request;
        HttpServletResponse res = (HttpServletResponse) response;
        // 获取访问路径信息
        String value = "*";
        String url = req.getRequestURL().toString();
        if (false){//filter(url)
            value = "http://192.168.0.200:3000/";
        }
        res.setHeader("Access-Control-Allow-Origin", value);
        res.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
        res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, JSESSIONID, jsessionid, adm, uuidStr");
        res.setHeader("Access-Control-Allow-Credentials", "true");
        if ("OPTIONS".equals(req.getMethod())) {
            res.setStatus(200);
            return;
        }
        chain.doFilter(request, response);
    }


    @Override
    public void destroy() {
    }

}

 

分类:

技术点:

相关文章:

  • 2018-07-04
  • 2017-11-23
  • 2020-10-12
  • 2021-06-27
  • 2021-10-19
  • 2021-06-27
  • 2022-01-08
  • 2021-04-04
猜你喜欢
  • 2021-12-29
  • 2021-11-28
  • 2021-07-02
  • 2021-10-11
  • 2021-10-23
  • 2021-07-14
  • 2021-07-29
相关资源
相似解决方案