Webアプリケーションの配備

Webアプリケーションのwarファイルを作成し、Tomcatのデフォルトのコンテキストルート(%CATALINA_HOME%/webapps)に配備します。

warコマンドの実施

Webアプリケーション作成プロセス04

先の頁に定義したwebsample1_build.batに以下が記載してあります。

C:¥projects¥firstweb¥build¥websample1_build.bat

:execWar
echo warファイルを構成します。

cd web
jar cvf ..\build\firstweb.war .

goto end
:end
							

warファイルは、JavaSEの標準コマンドjarコマンドを利用して、webディレクトリ以下を圧縮して作成します。

配備(deploy)

Webアプリケーション作成プロセス05

作成したWebアプリケーションfirstweb.warをTomcatに配備(デプロイ)します。
websample1_build.bat実行後にbuild/firstweb.warが作成されますので、firstweb.warを切り取り 「%CATALINA_HOME%¥webapps」ディレクトリに移動して下さい。
gakumon.techのTomcatのインストール手順では、「C:¥developer¥webap¥tomcat¥tomcat_8.5.16¥webapps」になります。

Tomcatのstartup.batからTomcatを起動します。

Tomcatのstartup.bat実行経過
02-Aug-2017 16:38:19.725 情報 [main] 
	org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.16
02-Aug-2017 16:38:19.826 情報 [localhost-startStop-1] 
	org.apache.catalina.startup.HostConfig.deployWAR Webアプリケーションアーカイブ [C:\developer\webap\tomcat\tomcat_8.5.16\webapps\firstweb.war] を配備します
02-Aug-2017 16:38:20.743 情報 [localhost-startStop-1] 
	org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive
	 [C:\developer\webap\tomcat\tomcat_8.5.16\webapps\firstweb.war] has finished in [917] ms
							

このとき、warファイルに不整合(web.xmlの設定間違い、war形式になっていない等)がある場合には、警告又はエラーメッセージが出力されます。

次に「http://localhost:8080/firstweb/firstServlet」にWebブラウザからアクセスします。

Webアプリケーション実行結果

コンテキストパス

先のアクセスしたURI「http://localhost:8080/firstweb/firstServlet」のうち、「firstweb」部分をコンテキストパスと呼びます。
TomcatがWebアプリケーションを識別するためのWebアプリケーションの名称です。firstwebは、どの設定ファイルにも指定していません。
「firstweb.war」という名称がコンテキスト名に該当します。

URIの「firstServlet」は、web.xmlの <url-pattern>/firstServlet</url-pattern>で指定したサーブレットにアクセスするためのURIです。
Tomcatでは、URIを解析して「http://localhost:8080」部分でプロトコル(http,https)、バーチャルホスト名、ポート番号を識別し、 「firstweb」部分でコンテキスト(Webアプリケーション)を識別し、最後に「firstServlet」部分でweb.xmlに定義したFirstServletクラスとマッチングさせています。 結果として、 URI「http://localhost:8080/firstweb/firstServlet」をWebブラウザからTomcatサーバにアクセスすることで、 Tomcatサーバーに配備されたJavaソースファイルをコンパイルした「jp.co.yourcompany.education.webapp.servlet.FirstServlet」が実行されます。

Eclipseを利用する前にこの基本的動作(Javaソースファイルの作成、クラスパス、javacコマンド、jarコマンド[warの作成])を理解して下さい。

サンプルのダウンロードと実行方法

  • firstweb.zipファイルを「c:¥download¥java¥samples¥」に保存して下さい。
  • firstweb.zipファイルを「c:¥projects」配下に展開して下さい。
  • コマンドプロンプトを起動して、buildディレクトリの「websample1_build.bat」を実行して下さい。
  • javac,jarが実行されてbuildディレクトリに「firstweb.war」が作成されます。
  • 「firstweb.war」を%CATALINA_HOME%¥webappsに移動します。
  • Tomcatを起動します。
  • Webブラウザから「http://localhost:8080/firstweb/firstServlet」を起動します。
  • ※.サンプルソースファイルを改修した場合には、毎回「websample1_build.bat」でコンパイルとjarの再作成をして下さい。
  • Linux,Unix,iOSの方はバッチファイルはお手数ですが作成して下さい。改行コードが「CRLF」の点ご留意ください。