@WebServlet аннотация и GWT RPC - PullRequest
       31

@WebServlet аннотация и GWT RPC

7 голосов
/ 24 ноября 2011

В моем проекте GWT, работающем в glassfishv3, все работает правильно, но когда я меняю отображение шаблонов URL сервлета с web.xml на аннотацию @WebServlet внутри классов сервлета, GWT rpc cand находит сервлет!

обратите внимание, что другие обычные сервлеты работают с этой аннотацией (WebServlet), и просто GWT RPC не работает.

в чем причина?

УВАЖЕНИЕ

Ответы [ 2 ]

6 голосов
/ 24 ноября 2011

Вы установили номер версии web-app в файле web.xml для правильной версии сервлета, поскольку эта функция доступна только с версии 3.0:

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
      version="3.0"> 
4 голосов
/ 06 октября 2012

Хорошо, я наконец-то получил эту работу, но с некоторыми оговорками. Мне удалось заставить его работать в Tomcat в Intellij и в качестве развернутой WAR в контейнере Tomcat 7.

Я НЕ смог заставить его работать в режиме dev-mode без использования -noserver. Я полагаю, что это потому, что встроенный сервер Jetty не совместим с JSR315, но у меня нет доказательств этого, поскольку я не пытался определить, какая версия Jetty находится в банке gwt-dev.

Хитрость в том, что вам нужно полностью определить путь в WebServlet. Так что, если ваш интерфейс удаленного сервиса имеет относительный путь «bar», а имя вашего модуля (переименовано в gwt.xml) равно «foo», тогда вам нужно указать путь к «/ foo / bar» в WebServlet и это будет работать.

...