我有一个非常简单的Java RESTful Web服务,其中包含两种GET和POST请求方法。我在OpenShift平台上使用Jboss Application server 7.
我需要通过发送或接收JSON数据使JavaScript客户端能够使用Ajax来使用服务。
Web服务正在运行,没有任何问题。我可以从同一应用程序中的脚本使用Ajax来使用它,但我需要从其他域上的其他应用程序中使用它。
如何在我的REST端点上启用跨源请求共享(CORS)?
答案 0 :(得分:0)
将此标题添加到您的回复中:
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服务的库的更多信息。