Как использовать имя приложения в URL после порта (как мы это делаем в развернутом приложении tomcat) для вызова остальных веб-сервисов в приложении GWT? - PullRequest
0 голосов
/ 04 июля 2018

У меня развернуто приложение GWT, которое я запускаю, вызывая конфигурацию запуска (Выполнить -> Выполнить конфигурации -> Веб-приложение -> создать новую конфигурацию -> Выполнить). Теперь этот процесс обычно развертывает проект по следующему URL: http://127.0.0.1:49240/GWTSample.jsp

Но теперь у меня есть встроенный веб-сервис rest в моем проекте, который имеет один URI для вызова rest следующим образом: / GWTSample / rest / hello .

Но когда я изменяю фактический URL на этот: http://127.0.0.1:49240/GWTSample/rest/hello, этот URL не работает.

В качестве длинного решения я должен скомпилировать свой проект и развернуть его на Tomcat по следующему адресу: http://localhost:8080/GWTSample/rest/hello,, который каждый раз занимает более 10 минут. Итак, как я могу сделать остальные вызовы на моем проекте на http://127.0.0.1:49240/GWTSample.jsp?

1 Ответ

0 голосов
/ 04 июля 2018

Если ваша хост-страница и ваш сервлет REST находятся в одном и том же веб-приложении, то URL-адреса постоянны относительно контекста веб-приложения.

Судя по всему, ваш сервер режима разработки использует корневой контекст "/". Таким образом, ваши URL-адреса для разработки - "/GWTSample.jsp" и "/rest/hello". Но ваш внешний Tomcat использует "GWTSample" в качестве контекста, который приводит к URL-путям "/GWTSample/GWTSample.jsp" для страницы хоста и "/GWTSample/rest/hello" для службы REST.

Чтобы вызвать службу REST из приложения GWT, вы можете использовать относительные URL-адреса или определить контекстный путь во время выполнения на стороне сервера (см. ServletContext.getContextPath () ) и передать этот путь в GWT. приложение (например, путем интеграции его в страницу хоста).

Сам контекст является деталью развертывания. Конечно, вы также можете настроить свой Tomcat на использование корневого контекста. Но для вашего приложения было бы лучше не полагаться на это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...