- PR -

Eclipse&Struts&TomcatでJSPのコードの編集を反映させたい

1
投稿者投稿内容
abe
常連さん
会議室デビュー日: 2003/08/14
投稿数: 31
投稿日時: 2006-04-19 00:53
EclipseでStrustアプリケーションを作成しております。
JSPのコードを編集してブラウザをリロードすると、編集が反映されていない事があります。
そういう時は、作成されたクラスファイルを自分でデリートしてもう一度リロードすると、
新しいクラスファイルが生成され、編集が反映されます。

ActionクラスやFormクラスに関しては今のところ不便を感じた事はありません。
struts-config.xmlも編集が即座に反映されません。

テストのたびにTomcatを再起動して大変面倒なのですが、
何か良い解決策はありますでしょうか?
さいくろう
大ベテラン
会議室デビュー日: 2005/11/19
投稿数: 170
お住まい・勤務地: 川崎市
投稿日時: 2006-04-19 01:06
コードを変更したら再起動なんて当たり前。必要なけりゃ御の字じゃないの?
面倒くさがるようなことじゃないと思う。

世の中、便利になるのは悪いことじゃないけど、
素人はともかく、エンジニアまでがそれに甘えるのはいい気がしないね・・・。
abe
常連さん
会議室デビュー日: 2003/08/14
投稿数: 31
投稿日時: 2006-04-19 01:30
今のところ再起動が必要なのはstruts-config.xmlの編集時のみですが、
何度も手直しが必要な時は再起動のたびに10秒近く待たないといけないのは、
大変に面倒です。
あまりに面倒な故に、自分のやり方は間違っていると考えています。
私は軟弱なので楽な方法があればそれを取りたいです。
Java僧
ぬし
会議室デビュー日: 2003/11/06
投稿数: 261
投稿日時: 2006-04-19 12:31
#待つのが「面倒」って日本語がおかしい気がします・・・
#「面倒」=「手数がかかってわずらわしい」ですよ?

"Tomcat"を再起動すると(関係ない)他のアプリケーションまで
再起動されるので、待ち時間は長くなります。
要件は"アプリケーション"だけ再起動できればよいと思いますので、
↓このへんの記事でTomcatManagerアプリをうまく使ったら少しは
速くなるかもしれません。
http://www.atmarkit.co.jp/fjava/javatips/039container006.html

ですが、やっぱり「手直ししたら間違いが無いか見直してから」を
しなければ無駄な時間を費やすことになるのは変わりないでしょうね。
struts-config.xmlは「テストのたびに」「何度も手直し」するものでは
ないですよ?
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-04-19 12:51
何度も似たような質問があって、その都度答えている気がするのですが・・・
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27473&forum=12
参考になるでしょうか。
abe
常連さん
会議室デビュー日: 2003/08/14
投稿数: 31
投稿日時: 2006-04-19 22:12
どうもありがとうございます。
また、FAQとのことで大変申し訳ございませんでした。

かつのりさんの手法を試してみようと思い、
ActionServletを継承してweb.xmlを設定しました。

ActionServletのソースコードを見て
processメソッドをオーバーライドしようとしたのですが、

processメソッドから呼び出されているgetProcessorForModuleメソッドが
private属性のため、invisibleであるとエラーが出ます。

誠に恥ずかしながらどのように継承すれば良い物か分かりません。
このような時はどのように継承をするものなのでしょうか。
java僧さんの教えてくださった記事による手動のリロードでも、
だいぶ時間がかからなくなったのですが、

恥のかきついでに新しい手法を覚えてみたいと思います。
アドバイスを頂きたく存じ上げます。

# 本当だ、待つのが面倒、確かにおかしい日本語ですね
# Tomcatのエラー画面が先生状態で、アクションのパスやらフォームやら、
# 何かしらうっかり忘れて実行したりしてしまう物ですから・・・
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-04-20 09:10
Strutsでプラグインを実装するには、
・org.apache.struts.action.PlugInを実装する
・struts-config.xmlに上記のクラスの指定をする
・プラグインのinitメソッドで、リンク先の内容の処理を行う
でいいのでは。

ActionServletを継承するならinitメソッドがいいでしょう。
Servletは開始時にinitメソッドがコールされます。
super.init()を忘れずに。(本来の処理が省かれます)
1

スキルアップ/キャリアアップ(JOB@IT)