Contatos.gwt.xml
<module>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User'/>
<!-- Specify the app entry point class. -->
<entry-point class='org.greenheads.client.Principal'/>
<servlet path="/Contatos/Servico" class="org.greenheads.server.ServicoImplementado "/>
</module>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>Contatos</servlet-name>
<servlet-class>org.greenheads.server.ServicoImplementado </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Contatos</servlet-name>
<url-pattern>/Servico</url-pattern>
</servlet-mapping>
</web-app>
Codigo na classe que chama o serviço
ServicoAsync meuServico = (ServicoAsync) GWT.create(Servico.class);
ServiceDefTarget reside = (ServiceDefTarget) meuServico;
String urlServico = GWT.getModuleBaseURL();
urlServico += "/Servico"; /*Identico ao <url-pattern> do web.xml*/
reside.setServiceEntryPoint(urlServico);
Estrutura de diretórios:
. = $TOMCAT_HOME/webapps/Contatos (conterá os arquivos que ficam em /~/workspace/[projeto]/www)
./WEB-INF (conterá o web.xml, pasta lib e pasta classes)
./WEB-INF/lib (conterá o gwt-user.jar capado e demais .jars necessários a sua aplicação)
./WEB-INF/classes (conterá os arquivos que ficam em /~/workspace/[projeto]/bin)
./WEB-INF/classes/org
./WEB-INF/classes/org/greenheads (conterá o [aplicacao].gwt.xml)
./WEB-INF/classes/org/greenheads/server (conterá a classe que implementa o servico)
./WEB-INF/classes/org/greenheads/public
./WEB-INF/classes/org/greenheads/client (conterá o servico e o servicoasync)
$TOMCAT_HOME/webapps/Contatos
total 208K
-rw-rw-r-- 1 35K Set 29 11:07 0439EE5206EB1BA3A46E547E24A6190C.cache.html
-rw-rw-r-- 1 1,3K Set 29 11:07 0439EE5206EB1BA3A46E547E24A6190C.cache.xml
-rw-rw-r-- 1 35K Set 29 11:07 AE6BC4E6769610B0589E1D5753EAC420.cache.html
-rw-rw-r-- 1 1,3K Set 29 11:07 AE6BC4E6769610B0589E1D5753EAC420.cache.xml
-rw-rw-r-- 1 35K Set 29 11:07 C133E4EC96702831A29B0778810825A2.cache.html
-rw-rw-r-- 1 1,3K Set 29 11:07 C133E4EC96702831A29B0778810825A2.cache.xml
-rw-rw-r-- 1 1,7K Set 28 23:49 Contatos.html
-rw-rw-r-- 1 34K Set 29 11:07 FBB5342213A1614AC5FCEDB7C5C48CF3.cache.html
-rw-rw-r-- 1 1,3K Set 29 11:07 FBB5342213A1614AC5FCEDB7C5C48CF3.cache.xml
-rw-rw-r-- 1 17K Set 28 23:49 gwt.js
-rw-rw-r-- 1 464 Set 28 23:49 history.html
-rw-rw-r-- 1 2,5K Set 29 11:07 org.greenheads.Contatos.nocache.html
-rw-rw-r-- 1 82 Set 28 23:49 tree_closed.gif
-rw-rw-r-- 1 78 Set 28 23:49 tree_open.gif
-rw-rw-r-- 1 61 Set 28 23:49 tree_white.gif
drwxrwxr-x 4 4,0K Set 29 11:04 WEB-INF
./WEB-INF:
total 12K
drwxrwxr-x 3 4,0K Set 29 11:07 classes
drwxrwxr-x 2 4,0K Set 29 11:05 lib
-rw-rw-r-- 1 345 Set 29 11:04 web.xml
./WEB-INF/classes:
total 4,0K
drwxrwxr-x 3 4,0K Set 28 23:37 org
./WEB-INF/classes/org:
total 4,0K
drwxrwxr-x 5 4,0K Set 29 11:06 greenheads
./WEB-INF/classes/org/greenheads:
total 16K
drwxrwxr-x 2 4,0K Set 28 23:37 client
-rw-rw-r-- 1 350 Set 29 11:06 Contatos.gwt.xml
drwxrwxr-x 2 4,0K Set 28 23:37 public
drwxrwxr-x 2 4,0K Set 28 23:37 server
./WEB-INF/classes/org/greenheads/client:
total 24K
-rw-rw-r-- 1 1,4K Set 28 23:37 Contatos$1.class
-rw-rw-r-- 1 2,4K Set 28 23:37 Contatos.class
-rw-rw-r-- 1 1,1K Set 29 11:06 Principal$1.class
-rw-rw-r-- 1 1,5K Set 29 11:06 Principal.class
-rw-rw-r-- 1 201 Set 28 23:37 ServicoAsync.class
-rw-rw-r-- 1 214 Set 28 23:37 Servico.class
./WEB-INF/classes/org/greenheads/public:
total 4,0K
-rw-rw-r-- 1 1,7K Set 28 13:02 Contatos.html
./WEB-INF/classes/org/greenheads/server:
total 4,0K
-rw-rw-r-- 1 1,5K Set 29 09:59 ServicoImplementado.class
./WEB-INF/lib:
total 1,5M
-rwxr-x--- 1 971K Set 28 23:54 gwt-user.jar
-rw-r--r-- 1 482K Jul 26 17:39 mysql-connector-java-5.0.3-bin.jar
Agora é só começar a fazer telinhas de cadastro e consulta.