如何在 JBoss AS 上使用 java restful Web 服务启用 CORS

How to enable CORS with a java restful web service on JBoss AS

我有一个非常简单的 Java RESTful Web 服务,其中包括两种用于 GET 和 POST 请求的方法。我在 OpenShift 平台上使用 Jboss 应用程序服务器 7。

我需要启用 Java脚本客户端以通过发送或接收 JSON 数据使用 Ajax 使用服务。

Web 服务 运行 没有问题。我可以使用 Ajax 从同一应用程序中的脚本使用它,但我需要从其他域上的其他应用程序使用它。

如何在我的 REST 端点上启用跨源请求共享 (CORS)?

将此 header 添加到您的回复中:

Access-Control-Allow-Origin: *

例如,对于 servlet,您可以这样做:

或者,您可以将 jetty-servlets.jar 库添加为依赖项并将此过滤器添加到您的 web.xml。这将为您的所有 Web 服务启用 CORS。

<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 服务的库的信息。