Сервер Angularjs и Java – как использовать один и тот же порт при работе с Netbeans?

У меня есть приложение Java RESTful, которое развертывается на сервере Glassfish, когда я запускаю его из IDE Netbeans. В этом случае URL-адрес сервера выглядит как localhost:8080.

Кроме того, у меня есть приложение angularjs (приложение HTML5), которое работает на встроенном облегченном сервере (я выяснил это в свойствах проекта). Это приложение доступно по адресу localhost:8383.

Проблема в том, что междоменная политика не позволяет мне общаться между клиентом и сервером, потому что порты разные. Я могу завернуть приложение angularjs в WAR-архив и развернуть его на Glassfish — в этом случае все работает нормально. Но это очень больно, потому что мне нужно отлаживать свой код и каждый раз делать архивы будет тратить много времени.

Итак, возможно ли автоматическое развертывание моего клиента на Glassfish при каждом запуске или сеансе отладки?


person Yan Ivan Evdokimov    schedule 03.02.2015    source источник
comment
Включение CORS на вашем сервере разработки Glassfish не является вариантом?   -  person Gimby    schedule 03.02.2015
comment
Я использую обратный прокси-сервер, который обслуживает статические ресурсы непосредственно из исходных файлов (частичные файлы, JS-файлы и т. д.) и передает все запросы службы REST на сервер приложений.   -  person JB Nizet    schedule 03.02.2015
comment
@JBNizet, не могли бы вы подробно объяснить, как это сделать?   -  person Yan Ivan Evdokimov    schedule 03.02.2015


Ответы (1)


Создайте фильтр на своем сервере, чтобы включить CORS, подобный этому.

headers.add("Access-Control-Allow-Origin", "localhost:8383");
person Luận Võ Văn    schedule 14.12.2016