Java Tips:JSPをデプロイ前にチェックするには:JAVA Developer
JSPの動作確認は,通常,Tomcatにデプロイし,ブラウザでアクセスと手順をとります。Tomcatには,JSPをコンパイルするツールとしてJSPコンパイラが付属しており,Tomcatにデプロイする前にエラーがないかチェックすることが可能です。ここでは,JSPコンパイラの基本的な使い方を紹介します。
Antを使ってJSPをプリコンパイルする
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Webアプリの開発を行っているとJSPをデプロイする前に,エラーがないかチェックしたいときがあります。TomcatにデプロイされたJSPは,JSPエンジンであるJasper/Jasper2によってJavaソースコードに変換され,さらにJavaクラスファイルにコンパイルされます。この一連の作業を,Tomcatにデプロイする前に行ってみたいと思います。準備するツールはAntとJ2SDKです。Antは最新の1.6.1を使用します。Tomcatは,4.1系と5.0系の両方がターゲットで,動作環境はWindows XPとします。
テスト用のJSP(リスト1)とJSPをプリコンパイルするビルドファイルを同じディレクトリに作成します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ビルドファイルは,Tomcatに付属するドキュメント「User Guide - 11)JSPs」で紹介されているものを参考に作成します。なお,AntにはJSPをコンパイルするjspcタスクが用意されていますが,ここでは利用しません。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
実行は,antコマンドのパラメータとしてtomcat.homeにTomcatがインストールされたディレクトリのパス名を指定して行います。下に示す例のように,パス名に空白文字を含んでいる場合は,"(ダブルクォーテーション)で囲む必要があります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
JSPに誤りがなければ,実行したディレクトリ以下にorg/apache/jspディレクトリが作られ,その中にtest_jsp.javaファイルが作成されます。この段階は,JSPからJavaソースを生成するだけです。pageディレクティブの記述ミスのようなJSPの文法エラーは,次に示すような例外が発生し,この段階でわかります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
JSPからJavaソースファイルを生成しただけでは,Javaの構文チェックは行われていません。ビルドファイルを修正して,Javaソースファイルをコンパイルする機能を追加します(リスト3)。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
太字の部分が,修正または追加した部分です。JSPから生成したJavaソースファイルをコンパイルするだけなら,jasper2要素に次の太字で示したcompile属性とその値として"true"を追加するだけも可能です。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
この場合,Javaの構文エラーが発生しても,エラーの場所がわかるログを出力しません。今回の目的はJSPのチェックが目的ですから,javacタスクを使用しました。
先ほど作成されたJavaソースファイルをorgディレクトリごと削除して,再度antコマンドを実行します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
JSPに構文エラーがなければ,org/apache/jspディレクトリに,test_jsp.javaとtest_jsp.classファイルが生成されます。JSPをわざとコンパイルエラーが発生するように修正し,antコマンドを実行すると,次のようなログが出力されます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
このようなJSPなら,エラーの場所を見つけるのも容易でしょう。
JAVA Developerより毎週Java Tipsをお届けしましょう。バックナンバーもよろしく。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Copyright(C) 2010 SOFTBANK Creative Inc. All Right Reserved.