Развертывание GWT в Tomcat (сервлет не работает) - PullRequest
1 голос
/ 30 июня 2011

Как правильно развернуть приложение GWT в Tomcat? Я сделал приложение GWT с кодом на стороне сервера (сервлеты). Он работает в режиме размещения, но только когда я копирую папку WAR (после компиляции) в каталог веб-приложения Tomcat и правильно переименовываю папку war.

Мой сервлет приложения GWT находится в URI / mygwtapp, поэтому я переименовал папку mygwtapp. Приложение корректно загружается с проблемой, что сервлет не запускается, т.е. / mygwtapp / servlet не запускается.

Все библиотеки, необходимые для кода на стороне сервера, находятся в папке WEB-INF / lib. Что может быть причиной этого?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 30 июня 2011

По умолчанию Tomcat обслуживает приложение с именем «mygwtapp» из контекстного пути «/ mygwtapp». (Принимая во внимание, что встроенный причал GWT обслуживает его из контекстного пути '/'.)

Ваши пути к сервлетам обычно будут «/ mygwtapp / *». Это означает, что в сочетании с контекстным путем ваши сервлеты теперь доступны из '/ mygwtapp / mygwtapp / *'. (Попробуйте: просто введите полный URL-адрес в браузере - сервлет обычно будет жаловаться на то, что чего-то не хватает или что он не поддерживает GET, но теперь вы точно будете знать, где он живет.)

Итак, у вас есть два варианта:

  1. Скажите клиентской стороне вызывать сервлеты в '/ mygwtapp / mygwtapp / *' (я думаю, это уже автоматически решается при использовании аннотации @RemoteServiceRelativePath)
  2. Настройте контекстный путь веб-приложения в Tomcat, как описано в http://tomcat.apache.org/tomcat-6.0-doc/config/context.html
0 голосов
/ 11 марта 2013

Еще один вариант - использовать GWT.getModuleBaseURL (), а затем в коде на стороне клиента добавить имя сервлета. Это заставит его работать на Jetty или Tomcat без каких-либо специальных настроек.

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