Javaに関する様々な情報をご紹介します。Javaに関する様々な情報をご紹介します。Java基本Servlet・JSPオープンソースFAQ掲示板ニュースJavaの道オープンソースTomcat3.プログラム配置・実行プログラム配置・実行ここでは、Tomcatへプログラムを配置し、実行するまでの手順を解説します。Javaアプリ開発では、プログラムを実行環境(アプリケーションサーバなど)へ配置することをデプロイメントと呼んでいます。手順概要Tomcatへのプログラム配置・実行手順は以下のようになります。JSP/サーブレットプログラムを作成する。サーブレットプログラムをコンパイルする。プログラムを配置する。Tomcatの設定を行う。プログラムを実行する。実行するJSP/サーブレットプログラムを作成します。今回は実行すると現在の時刻を表示するプログラムを使用します。JSP/サーブレットの記述方法、文法の解説はここでは省略します。サーブレットプログラムのコンパイルサーブレットプログラムをコンパイルします。JSPはTomcatにより、自動的にコンパイルされるため、コンパイルの必要はありません。ソースファイル(HelloServlet.java)があるフォルダに移動し、javacコマンドでコンパイルします。コンパイルする際は、サーブレット用のクラスライブラリ(servlet-api.jar)を-classpathオプションに指定します。-classpathの詳細はJavaの道(クラスパス)を参照してください。6.0など指定PATHに空白があるため""でPATHを囲んでいます。プログラムの配置JSP/サーブレットを含むJ2EEでは、アプリケーションで使用するプログラムの配置場所、配置するディレクトリ名が定められています。J2EEで定められるディレクトリ構成は以下のようになります。J2EE仕様で定められているプログラム配置構成ルートディレクトリはどこに設置しても良いですが、通常Tomcatインストールディレクトリ内のwebappsディレクトリ配下に設置します。今回の解説で使用するプログラムの配置構成は以下のように行います。Tomcatのインストールティレクトリを「$CATALINA_HOME」で表します。$CATALINA_HOME\wabapps配下に、ルートディレクトリjavaroadを作成します。ルートディレクトリ配下にJSPファイルを格納するディレクトリjspdirを作成し、HelloJsp.jspファイルを設置します。ルートディレクトリ配下にWEB-INFディレクトリ、その配下にclassesディレクトリ、libディレクトリを作成します。classesディレクトリにHelloServlet.javaをコンパイルしてできたHelloServlet.classファイルを設置します。WEB-INFディレクトリ配下にweb.xmlファイルを作成します(設定は後で行います)。Tomcatの設定Tomcatはコンテキストと言う単位で、アプリケーションを管理します。プログラムを配置した後は、配置した領域をコンテキストとしてTomcatに設定します(コンテキストの設定は必須ではありません。デフォルトのコンテキストの振る舞いを変えたい場合に設定が必要です。今回は、デフォルトの振る舞いから変更はありませんが、一応設定を行います。Tomcat5.0からコンテキストの設定方法が変わりました。name]ディレクトリ配下にコンテキスト名.xmlと言うXMLファイルを作成して行います。name]はserver.xmlに設定されているengine名、host名です。name]が[localhost]です。今回はコンテキスト名をjavaroadにするため、設定ファイルは$CATALINA_HOME\conf\Catalina\localhostディレクトリ配下の、javaroad.xmlファイルとなります。javaroad.xmlの設定javaroad.xmlファイルを作成し、以下の設定内容を記述します。<Contextreloadable="false"/>・reloadableはプログラムに変更があった場合、自動的に再読み込みを行うかを設定します。trueに設定すると動作時に再読み込みが必要なファイルがあるかを確認するため動作が遅くなります。開発時以外はfalseに設定します。falseの場合、プログラムを再読み込みさせたい場合はTomcatの再起動が必要になります。※この他、path、docBaseなどのパラメータもありますが、Tomcatの最新バージョンでは、docBaseで指定するPATH名がappBaseの配下にある場合は、path、docBaseとも明示的に指定する必要はありません。ignored.)が生成されます。appBaseはTomcatのデフォルトの設定では$CATALINA_HOME/webappsです。web.xmlの設定コンテキストを設定した後は、コンテキスト内のアプリケーションの動作を設定します。コンテキスト内のアプリケーションの動作は$CATALINA_HOME\javaroad\WEB-INFディレクトリ配下のweb.xmlファイルに記載します。web.xmlはサーブレットファイルのURL指定、セキュリティ管理、初期化パラメータ設定などコンテキスト内のアプリケーション動作に関わる設定をします。ここでは、サーブレットファイルのURL指定について解説します。以下の設定をweb.xmlに記載します。</servlet-mapping></web-app><servlet>・・・</servlet><servlet>タグには<servlet-class>タグにサーブレットのクラス名「HelloServlet」、<servlet-name>タグに、それにマッピングするキーワード「Hello」を指定します。<servlet-mapping>・・・</servlet-mapping><servlet-mapping>タグでは、<servlet-name>タグには上記と同様に「Hello」、<url-pattern>タグにはそれにマッピングするURLのキーワード「/Hello」を指定します。上記の2つのタグを設定することで、どのURLパターンからどのサーブレットクラスを呼び出すかが指定できます。URLに/Helloと指定すると(ここでは、http://localhost:8080/javaroad/Hello)、<servlet-name>を介してマッピングされたHelloServletクラスが呼び出されます。プログラムの実行Tomcatを起動させ、JSP/サーブレットプログラムそれぞれにアクセスします。JSPプログラム(HelloJsp.jsp)JSPプログラムにアクセスする場合は、JSPファイルを設置したパス名をURLに指定します。http://localhost:8080/javaroad/jspdir/HelloJsp.jspサーブレットプログラム(HelloSerlvet.class)サーブレットプログラムにアクセスする場合は、web.xmlで指定したパス名をURLに指定します。http://localhost:8080/javaroad/Helloそれぞれ、以下のように現在の時刻を表すメッセージが表示されるとプログラム配置・実行の成功です。