GWTでの画面遷移について

470 views
Skip to first unread message

takayuki

unread,
Jun 9, 2010, 11:24:47 PM6/9/10
to Google Web Toolkit in Japanese (GWTJP)
初めましてtakayukiです。

GWTを勉強中で、プログラム初心者です。
今回作成したい流れは、

データの入力画面(jsp or HTML) → データの受け取り、DBへの保存(servlet) → 画面の表示(GWT)

という流れで作成していたのですが、コンパイルの時点でエラーが発生します。
web.xmlの<welcome file>にはデータ入力画面のパスを記入しているのですが下記のエラーがでます。

[ERROR] Unable to start AppEngine server
com.google.apphosting.utils.config.AppEngineConfigException: Welcome
files must be relative paths: /input.jsp
at com.google.apphosting.utils.config.WebXml.validate(WebXml.java:
115)
at
com.google.appengine.tools.development.AbstractContainerService.loadAppEngineWebXml(AbstractContainerService.java:
241)
at
com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:
144)
at
com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:
219)
at
com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:
86)
at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:421)
at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1035)
at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:783)
at com.google.gwt.dev.DevMode.main(DevMode.java:275)
Unable to start embedded HTTP server
com.google.gwt.core.ext.UnableToCompleteException: (see previous log
entries)
at
com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:
91)
at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:421)
at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1035)
at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:783)
at com.google.gwt.dev.DevMode.main(DevMode.java:275)


開発環境は,eclipse3.5で行っています。

調べても分からず、もし参考になるURLなどありましたら、ご教授お願いします。

Daisuke Yamashita

unread,
Jun 10, 2010, 4:39:59 AM6/10/10
to gwt...@googlegroups.com
山下@SOBAプロジェクトです。

まずは質問する前に、エラーをちゃんと読むようにしましょう。その辺りの翻訳サイトに
通すだけで、十分読める日本語になると思います。エラーでは、Welcomeファイルは
相対パスで記述するようにと明記されています。

つまり、/から書き始めてるのが問題だと考えられます。

> [ERROR] Unable to start AppEngine server
> com.google.apphosting.utils.config.AppEngineConfigException: Welcome
> files must be relative paths: /input.jsp


2010/6/10 takayuki <y1-tak...@spcn.co.jp>:

--
Daisuke Yamashita

takayuki

unread,
Jun 10, 2010, 5:16:07 AM6/10/10
to Google Web Toolkit in Japanese (GWTJP)
takayukiです。

山下@SOBAプロジェクトさん、返信ありがとうございます。
自分の確認が足りていなく恥ずかしいかぎりです。

ページの遷移は無事にできたのですが、次にデータの保存を行うクラスを作ったのですが
下記のエラーが発生します。

No source code is available for type
javax.jdo.PersistenceManagerFactory; did you forget to inherit a
required module?

gwt.xmlのinheritに登録し忘れている?というようなエラーメッセージが出ます。
inheritおよびsorce psthにパスを記述してもエラーがでてしまいます。

もしよければ、ご教授よろしくお願いします。


On 6月10日, 午後5:39, Daisuke Yamashita <dddais...@gmail.com> wrote:
> 山下@SOBAプロジェクトです。
>
> まずは質問する前に、エラーをちゃんと読むようにしましょう。その辺りの翻訳サイトに
> 通すだけで、十分読める日本語になると思います。エラーでは、Welcomeファイルは
> 相対パスで記述するようにと明記されています。
>
> つまり、/から書き始めてるのが問題だと考えられます。
>
> > [ERROR] Unable to start AppEngine server
> > com.google.apphosting.utils.config.AppEngineConfigException: Welcome
> > files must be relative paths: /input.jsp
>
> 2010/6/10 takayuki <y1-takaha...@spcn.co.jp>:

Daisuke Yamashita

unread,
Jun 10, 2010, 5:41:50 AM6/10/10
to gwt...@googlegroups.com
山下@SOBAプロジェクトです。

ウェブ上で、このMLの内容を表示する際に、同一タイトルのメールは1つの
スレッドとして扱われるので、別の質問は新規にして投稿すると、後から
同じ問題を検索する人が助かるので、次回からご協力よろしくお願いします。


当該のエラーですが、GWTモジュールではない「javax.jdo.Persistence
ManagerFactory」クラスをclientパッケージで利用しているのが原因です。

GWTは、AjaxプログラムをJavaでコーディングできるテクノロジーですので、
コードがクライアント(ブラウザ上)で動くのかサーバーで動くのかを注意深く
意識する必要があります。

今回の問題はサーバーで利用すべき永続化用のクラスをクライアント(ブラウザ
で動作する)側のソースに含めているのが問題です。

永続化処理をserverパッケージに移行して、非同期通信で呼び出すように
すると解決します。

あと、AppEngineを利用しているようですが、GWTとAppEngineは共にかなり
奥の深いテクノロジーですので、同時に学習するのはかなりハードルがあり
ます。できれば、個別に学習する事をお勧めします。

2010/6/10 takayuki <y1-tak...@spcn.co.jp>:

--
Daisuke Yamashita

高橋勇気

unread,
Jun 10, 2010, 8:45:44 PM6/10/10
to gwt...@googlegroups.com
takayukiです。

山下@SOBAプロジェクトさん、返信ありがとうございます。

>ウェブ上で、このMLの内容を表示する際に、同一タイトルのメールは1つの
>スレッドとして扱われるので、別の質問は新規にして投稿すると、後から
>同じ問題を検索する人が助かるので、次回からご協力よろしくお願いします。

次回から気をつけたいと思います。

>今回の問題はサーバーで利用すべき永続化用のクラスをクライアント(ブラウザ
>で動作する)側のソースに含めているのが問題です。
>永続化処理をserverパッケージに移行して、非同期通信で呼び出すように
>すると解決します。

そうだったんですね。
早速試してみようかと思います。

まずは基礎から学んでいこうかと思います。
ご教授ありがとうございました。

またなにかあった時はよろしくお願いします。

2010年6月10日18:41 Daisuke Yamashita <ddda...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages