java - 如何在 JBoss AS 上使用 Java Restful Web 服务启用 CORS

标签 java ajax web-services jboss cors

我有一个非常简单的 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/

相关文章:

php - WordPress 中的 AJAX 搜索

php - INSERT上的“Function name must be a string”-mysqli PHP

java - 与 JavaMail 的连接

Java 8 函数 - 组合和然后

java - 我如何从 html 中获取细节?

python - 为什么我的 ajax 代码不能使用 Python Flask 运行?

java - Android Rest Web 服务调用,连接拒绝问题

java - 在 WCF 客户端的 Java Web 服务(或重用类型)之间共享数据契约

web-services - 网络服务 - 城市的当前时区?

java - Arquillian 找不到类