我有一个Web应用程序,即时通讯使用spring mvc。 我需要允许跨域脚本(我需要一个我可以通过javascript访问外部化的Web服务)。 我写了一个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:
“本地主机:8080 / crossdomain.xml的”
问题是mvc正在将请求重新路由到主控制器(RequestMapping注释为“/”)。我如何使用弹簧mvc克服这个问题?
谢谢。
答案 0 :(得分:1)
crossdomain.xml仅由 使用,因此可能不是您真正想要的。
如果您想要使用javascript完成跨域xhr请求,您应该使用CORS或JSONP,请参阅此related question
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"
});
答案 1 :(得分:0)
jax rs jersey实现和spring之间有一个特殊的集成。所有在这个博客中解释 Jersey Spring integration