Разрешаване на междудомейн скриптове в mvc уеб приложение

Имам уеб приложение и използвам spring mvc. Трябва да разреша скриптове между домейни (имам нужда уеб услугата, която екстернализирам, да може да бъде достъпна чрез javascript). Написах crossdomain.xml и го поставих в папката WEB-INF. Това е моят crossdomain.xml

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

Търсих наоколо и видях, че crossdomain.xml трябва да е достъпен от този URL: "localhost:8080/crossdomain.xml"
работата е там, че mvc пренасочва заявката към главен контролер (с анотация RequestMapping на "/"). Как мога да преодолея това с помощта на spring mvc?
Благодаря.


person Mr T.    schedule 07.07.2012    source източник


Отговори (2)


crossdomain.xml се използва само от flash, така че това вероятно не е това, което всъщност искате.

Ако искате междудомейн xhr заявки, направени с javascript, трябва да използвате 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"
});
person Razor    schedule 07.07.2012
comment
Благодаря за отговора. когато използвам dataType: JSONP, jquery ajax връща грешка. същото нещо се случва, когато пиша json. Работата е там, че използвам JAX-RS (трико) за екстернализиране на услугата и прочетох, че няма поддръжка за jsonp в jax-rs, така че потърсих филтър, но не намерих работещ :) някакви предложения? - person Mr T.; 08.07.2012
comment
Намерих решението. Има специална интеграция между пролетта и фланелката. след прилагането на това проработи. (използвах JSONP в края). Благодаря много. - person Mr T.; 20.07.2012

Има специална интеграция между изпълнението на jax rs jersey и пружината. всичко е обяснено в този блог Интегриране на Jersey Spring

person Mr T.    schedule 20.07.2012