我有一个非常简单的 Java RESTful Web 服务,其中包括两种用于 GET 和 POST 请求的方法。我在 OpenShift 平台上使用 Jboss 应用程序服务器 7。
我需要使 JavaScript 客户端能够通过发送或接收 JSON 数据来使用 Ajax 使用服务。
Web 服务运行正常。我可以使用 Ajax 从同一应用程序中的脚本使用它,但我需要从其他域上的其他应用程序使用它。
如何在 REST 端点上启用跨源请求共享 (CORS)?
最佳答案
将此 header 添加到您的响应中:
Access-Control-Allow-Origin: *
例如,对于 servlet,您可以这样做:
或者,您可以添加 jetty-servlets.jar
库作为依赖项,并将此过滤器添加到您的 web.xml 中。这将允许 CORS 用于您的所有 Web 服务。
<filter>
<filter-name>cross-origin</filter-name>
<filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>cross-origin</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
如果您只需要注释特定的服务,首先我们需要有关您用于实现 RESTful 服务的库的更多信息。
关于java - 如何在 JBoss AS 上使用 Java Restful Web 服务启用 CORS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31083854/