我爲我的服務器使用了NetBeans for IDE和GlassFish 3.1.2。從單獨的GWT客戶端訪問GWT Servlet
我寫了一個簡單的GWT項目(GWTServer),它提供了一個名爲GWTService的GWT RPC服務(所有服務都是對傳入並返回的內容進行字符串形式化)。我寫了一個SEPERATE客戶端項目(GWTClient),我想訪問服務器GWT RPC服務。 NetBeans在GWTServer中生成了一些可用於訪問RPC服務的客戶端代碼。
我的服務器GWT項目部署在glassfish上,可通過「localhost:8080/GWTServer」訪問。
我有做了幾件事情,我需要做這項工作的問題:
首先,GWTServer有幾個生成的類,我需要在GWTClient使用的。這些類是GWTService和GWTServiceAsync。我需要(最好)讓IDE將它們編譯成一個我可以包含在GWTClient中的jar文件。我已經嘗試創建一個java庫項目,將這2個java文件複製到庫中,並在GWTClient中包含該庫,但是這給了我一個錯誤:「沒有源代碼可用於類型org.gwtserver.client.GWTServiceAsync;你忘了繼承所需的模塊嗎?「
其次,在客戶端項目的某個地方,我需要指定servlet的url(類似http://localhost:8080/GWTServer/ gwtservice)。基本上,需要設置環境,以便在我調用GWT.create(GWTService.class)時它可以工作。
大概我可以在客戶端項目的.xml配置文件中設置此連接。但我不知道如何做到這一點。我不知道是否需要在服務器端對servlet定義進行更改。
服務器端的web.xml中指定該servlet如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 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">
<servlet>
<servlet-name>GWTService</servlet-name>
<servlet-class>org.gwtserver.server.GWTServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GWTService</servlet-name>
<url-pattern>/org.gwtserver.Server/gwtservice</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>welcomeGWT.html</welcome-file>
</welcome-file-list>
</web-app>
我需要了解什麼,我需要在客戶端GWT應用程序做與現有的servlet進行通信。