2011-11-24 13 views
7

Nel mio progetto GWT in esecuzione in glassfishv3, tutto funziona correttamente, ma quando cambio la mia mappatura url servlet da web.xml a @WebServlet annotazione all'interno delle classi servlet, GWT rpc cand trova il servlet!@WebServlet annotation e GWT RPC

nota che, altri servlet usuali funzionano con questa annotazione (WebServlet) e solo GWT RPC non funziona.

qual è il motivo?

RGDS

+0

Si prega di notare che altri normali Servlet funzionano correttamente con questa annotazione e solo GWT RPC hanno problemi – Nav

+0

Hai mai ricevuto una risposta? – icfantv

risposta

6

Hai impostare il numero di versione del web-app nel web.xml alla versione servlet corretta, in quanto questa funzione è disponibile solo a partire dal 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"> 
+0

sì è la versione 3, e altri servlet funzionano con questo tipo di mapping (@WebServlet) ma GWT remoteServiceServlet non funziona – Nav

4

Ok, ho finalmente ottenuto questo lavorando ma con alcuni avvertimenti. Sono stato in grado di farlo funzionare in Tomcat in Intellij e come WAR distribuito in un contenitore Tomcat 7.

Non ero in grado di farlo funzionare in dev-mode senza usare -noserver. Credo che questo sia dovuto al fatto che il server Jetty integrato non è compatibile con JSR315, ma non ho alcuna prova di ciò poiché non ho provato a determinare quale versione del jetty si trova nel gwt-dev jar.

Il trucco è necessario per qualificare completamente il percorso in WebServlet. Quindi se l'interfaccia del servizio remoto ha il relativo percorso di "bar" e il nome del modulo (rinominare in gwt.xml) è "foo", allora il percorso è necessario per impostare il percorso di "/ foo/bar" in WebServlet e Funzionerà.

+0

So che questo è vecchio, ma qui c'è un bug direttamente correlato all'ottenere le annotazioni Servlet 3.0 per lavorare con il Jetty incorporato server; https://code.google.com/p/google-web-toolkit/issues/detail?id=8472 – Jonathan