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

浙公网安备 33010602011771号