首页 > 学院 > 开发设计 > 正文

解决跨域的代码

2019-11-08 02:32:09
字体:
来源:转载
供稿:网友
public class CrossDomainFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {HttpServletRequest req = (HttpServletRequest) request;HttpServletResponse rep = (HttpServletResponse) response;// 环境部署时 nginx中已经设置了 access-Control-Allow-Origin 就不用加了if (rep.getHeader("Access-Control-Allow-Origin") == null) {rep.setHeader("Access-Control-Allow-Origin", "*");}rep.setHeader("Access-Control-Allow-Methods", "GET,POST");// 如果请求为OPTIONS,那说明是浏览器对服务器的查询String method = req.getMethod();if ("OPTIONS".equals(method) || "options".equals(method)) {return;} else {chain.doFilter(request, response);}}@Overridepublic void destroy() {}

}

web.xml中配置

<filter><filter-name>CrossDomainFilter</filter-name><filter-class>com.codyy.slr.filter.CrossDomainFilter</filter-class></filter><filter-mapping><filter-name>CrossDomainFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表