- PR -

JSPのプリコンパイルでサーブレットマッピングを省略

1
投稿者投稿内容
SUK2
ベテラン
会議室デビュー日: 2005/12/27
投稿数: 69
投稿日時: 2007-02-08 11:47
お世話になっております。

以前のプロジェクトでJSPのプリコンパイルを行っていたのですが、jspファイルが
増減する度にweb.xmlのサーブレットマッピングを修正しておりました。

サーブレットコンテナ上でJSPがコンパイルされる場合はマッピング定義を記述する
必要が無いという事は、プリコンパイルでもマッピング定義を記述せずに済む方法が
あるのでしょうか?

サーブレットコンテナ上でJSPがコンパイルされた場合、指定してある作業ディレクトリに
classファイルが生成される為、予めこのディレクトリ構成でプリコンパイルしたclass
ファイルを配置して置けば良いのかと思いました。

しかし、WAR形式でデプロイする場合にコンテキスト毎の作業ディレクトリを指定する事は
出来るのでしょうか?

何か良い方法をご存知の方がいらっしゃいましたらご教授願いたく、宜しくお願い致します。


[ メッセージ編集済み 編集者: SUK2 編集日時 2007-02-08 11:48 ]
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2007-02-08 11:53
標準的な方法はないと思います。
コンテナ特有の機能になります。
例えばWebLogic だとここら辺に書いてありますね。
・WebLogic JSP リファレンス > JSP のプリコンパイル
http://edocs.beasys.co.jp/e-docs/wls/docs81/jsp/reference.html#precompile
・トラブルシューティングガイド > プリコンパイルされた JSP が再コンパイルされる問題のデバッグ
http://www.beasys.co.jp/cs/support_news/product_troubleshooting/Debugging_Recompilation_of_Precompiled_JSPs_Pattern.html

まずはどのサーブレットコンテナを利用されているかおしえてください。
SUK2
ベテラン
会議室デビュー日: 2005/12/27
投稿数: 69
投稿日時: 2007-02-08 12:24
>インギ様

ご回答有難うございます。

前述のプロジェクトではTomcatを使用しておりました。

現在のプロジェクトもTomcatです。
現時点でJSPプリコンパイルの要件は無いのですが、ふと疑問に思って調べていた次第です。
アティ
ベテラン
会議室デビュー日: 2003/08/14
投稿数: 91
お住まい・勤務地: KANAGAWA
投稿日時: 2007-02-08 12:39
antを使ってもいいのなら自動でweb.xmlに組み込みが出来ます。
プレコンパイル時に、JSPのサーブレットマッピング部分のxmlが出力可能です(webXmlFragment属性で指定)。
出力されたxmlファイルをloadfileタスクで読み込んで、filterタスクを使用してweb.xmlに埋め込めばOKです。


[ メッセージ編集済み 編集者: アティ 編集日時 2007-02-08 12:40 ]
SUK2
ベテラン
会議室デビュー日: 2005/12/27
投稿数: 69
投稿日時: 2007-02-08 15:58
色々試してみた結果、server.xmlのContextで、
docBase="hoge.war"
workDir="webapp/hoge/work"
とすると、%TOMCAT_HOME/webapp/hoge/workが作業ディレクトリとなるため、
workにプリコンパイルしたJSPを置いて動作しました。(恐らく動的にコンパイルは
していないハズ・・・)

ただこの方法は精神衛生上あまり良くない気がするので、アティ様の方法を
試してみたいと思います。

有難うございました。
1

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