0

我有一个 Web 应用程序,我正在使用 spring mvc。我需要允许跨域脚本(我需要我外部化的 Web 服务可以通过 javascript 访问)。我写了一个 crossdomain.xml 并将它放在 WEB-INF 文件夹下。这是我的 crossdomain.xml

<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy>
  <allow-access-from domain="*" />
</cross-domain-policy>

我四处搜索,发现应该可以从以下 URL 访问 crossdomain.xml:“ localhost:8080/crossdomain.xml
问题是 mvc 正在将请求重新路由到主控制器(带有“/”的 RequestMapping 注释) . 我如何使用 spring mvc 克服这个问题?
谢谢你。

4

2 回答 2

1

crossdomain.xml由 flash 使用,因此这可能不是您真正想要的。

如果您想使用 javascript 完成跨域 xhr 请求,您应该使用 CORS 或 JSONP,请参阅此相关问题

CORS 示例:

access-control-allow-origin: http://api.example.com
access-control-allow-credentials: true

JSONP 示例(使用 jQuery,需要服务器端支持):

$.ajax({
    type: "GET",
    url: "https://domain.com/jsonp-service",
    dataType: "JSONP"
});
于 2012-07-07T19:41:36.507 回答
0

jax rs jersey 实现和 spring 之间有一个特殊的集成。所有解释都在这个博客 Jersey Spring 集成中

于 2012-07-20T15:45:36.890 回答