Webアプリケーションのwarファイルを作成し、Tomcatのデフォルトのコンテキストルート(%CATALINA_HOME%/webapps)に配備します。
先の頁に定義した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ディレクトリ以下を圧縮して作成します。
作成した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ブラウザからアクセスします。
先のアクセスした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の作成])を理解して下さい。