ひがやすを技術ブログ

電通国際情報サービスのプログラマ

Tapestry入門記(1) - Spindleを使う

GW中はTapestryを触ります。S2の開発はとりあえずなし。
まずはSpindleを使えるようにします。
Tomcat5.0.19, Tomcat Plugin2.2.1をインストールします。
Spindleは3.0.43をインストール。
Tapestryプロジェクトを作ってみます。
ファイル->新規->プロジェクト->Tapestry->Tapestry Web Projectを
選びます。helloプロジェクトを作成します。後はデフォルト。
Spindleの場合は、helloプロジェクト/contextが
Webのルートになります。
後は、Tomcat Pluginの設定で、helloプロジェクトをTomcatプロジェクトにし
サブディレクトリを/contextにすればいいだろうと思っていたら、
ここからが苦難のスタート。
Tomcatを再起動するとello.xmlに問題があると怒られます。
エロって何だよ勘弁してよとおもいながらも最初は解決せず。
ello.xmlを検索するとconf/Catalina/localhost/に発見。
ぱっと見は問題なさげ。
イロイロぐぐって調べるとTomcat5からはconf/server.xmlではなく
conf/Catalina/ホスト名に設定ファイルを置くらしい。
server.xmlにContextの指定をすると自動的にコンテキスト名.xml
作成してくれるっぽい。
どうもそのロジックにバグがあってコンテキスト名の先頭が
かけるみたい。
Strutsの時は大丈夫だったのに、Tapestryの時に失敗するのは、
何かののろいか。
Tomcat Pluginからserver.xmlを更新するのはあきらめ、
手動でhello.xmlを作成する。
Tomcatを再起動。今度は、BaseEngineクラスが見つからないというエラー。
ウィンドウ->設定->TomcatでhelloプロジェクトをTomcatのクラスパスに
追加する。
Tomcatを再起動。今度は、HttpServletRequestが見つからない。
プロジェクトのクラスパスにservlet-api.jar, jsp-api.jarを追加する。
Tomcatを再起動。
今度はエラーなし。
ブラウザからhttp://localhost:8080/hello/appにアクセス。
何も表示されない。
Spindleが作成したHome.htmlをみるとspanタグが書いてあるだけなので、
適当にHTMLを記述して、Tomcatを再起動。
やっとhelloアプリケーションが表示されました。
使い慣れたS1を使おうかという誘惑にも負けず(^^;、がんばりました。
かぁーちゃん。負けなかったよ。