繁体   English   中英

由于CORS,无法连接到Java中的Web服务

[英]Can't connect to web service in Java due to CORS

我已经创建了这样的过滤器,并在web.xml中对其进行了配置。 我设法使用简单的GET方法检索数据,但是在尝试发布新资源时失败。 我正在使用AngularJS,并且可以在控制台中找到它。 我还没有完全理解CORS是什么,但是从我阅读的内容来看,似乎有一个“飞行前”请求(OPTIONS方法?)。 我不知道自己想念什么,如何解决? 这是我得到的错误:

Origin http://localhost is not allowed by Access-Control-Allow-Origin.

码:

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    final HttpServletResponse httpResponse = (HttpServletResponse) response;
    httpResponse.addHeader("Access-Control-Allow-Origin", "*");
    httpResponse.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
    httpResponse.addHeader("Access-Control-Allow-Headers", "Authorization, X-Requested-With, Content-Type");

    chain.doFilter(request, response);
}

您必须在web.xml中添加一些设置。 这是一个应该对您有帮助的链接http://software.dzhuvinov.com/cors-filter-installation.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM