0

IDE に NetBeans を使用し、サーバーに GlassFish 3.1.2 を使用しています。

私は、GWTService という名前の GWT RPC サービスを提供する簡単な GWT プロジェクト (GWTServer) を作成しました (サービスが行うことは、渡されたものに文字列を連結して返すことだけです)。サーバー GWT RPC サービスにアクセスしたい別のクライアント プロジェクト (GWTClient) を作成しました。NetBeans は、RPC サービスへのアクセスに使用できるいくつかのクライアント コードを GWTServer に生成しました。

私のサーバー GWT プロジェクトは、glassfish にデプロイされ、「localhost:8080/GWTServer」からアクセスできます。

これを機能させるために必要ないくつかのことを行うのに問題があります。

まず、GWTServer には、GWTClient で使用する必要のある生成済みのクラスがいくつかあります。これらのクラスは GWTService と GWTServiceAsync です。(できれば) IDE を取得して、これらを GWTClient に含めることができる jar ファイルにコンパイルする必要があります。Java ライブラリ プロジェクトを作成して、これら 2 つの Java ファイルをライブラリにコピーし、そのライブラリを GWTClient に含めようとしましたが、次のエラーが表示されます。必要なモジュールを継承するのを忘れていませんか?」</p>

次に、クライアント プロジェクトのどこかに、サーブレットの URL ( http://localhost:8080/GWTServer/ gwtservice など) を指定する必要があります。基本的に、GWT.create(GWTService.class) を呼び出したときに機能するように環境を設定する必要があります。

おそらく、クライアント プロジェクトの .xml 構成ファイルでこの接続を設定できます。しかし、これを行う方法がわかりません。また、サーバー側でサーブレット定義を変更する必要があるかどうかもわかりません。

サーブレットを指定するサーバー側の web.xml は次のとおりです。

<?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 アプリケーションで何をする必要があるかを理解する必要があります。

4

1 に答える 1

0

GWT クライアントが GWT サービスと正常に対話するには、それら同時にコンパイルし、セキュリティ上の理由から同じホストでホストする必要があります。別の時点でコンパイルされた既存の GWT サービスにアクセスする独自の GWT クライアントを構築することはできません。

ただし、実際にはこれとは別の問題です。jarソース コードがソース フォルダーにある必要があるため、GWT クライアントから にアクセスすることはできません。したがって、あなたのNo source code is availableエラー。ただし、それを解決すると、次のように表示されます:Module needs to be (re)compiled最初の段落で述べた理由により、これを修正することはできません。

于 2012-05-05T00:26:18.087 に答える