1.
Tomcatとは
Webサーバー
静的コンテンツと動的コンテンツ
クライアントのリクエストからコンテンツをレスポンスをするサーバーを、Webアプリケーションサーバー(Webサーバー) といいます。コンテンツにはコンテンツをそのままレスポンスする静的コンテンツと、リクエストに応じて結果が変わる動的コンテンツに分けられます。
静的コンテンツの場合

動的コンテンツの場合

Webアプリケーション
サーバープログラムは、リクエストに応じてHTMLなどのコンテンツを動的に出力します。Webサーバ上で動作するプログラムでWebアプリケーションともいいます。
Webサーバの種類
Webサーバー | 説明 |
---|---|
Apache | 世界中で使用されている Webサーバー(HTTPサーバー)のソフトウェア |
Nginx | Apacheよりも新しいWebサーバ |
IIJ | Microsoft Windowsの標準Webサーバ |
Webコンテナ
ServletとJSP
Java Servlet
一般的なWebサーバーは「Apache」や「Nginx」を利用しますが、JavaではJava Servlet(Java サーブレット) を利用します。Java Servletは、Webサーバで動作するJavaプログラムのことで、単にServletとも略します。
JSP
JSP(Java Server Page)は、HTMLにJavaを埋め込むスクリプティング機能です。JavaのWebアプリケーションは、データ処理はServlet、HTML表示はJSPと役割を分担して開発します。
Webコンテナ(サーブレットコンテナ)
JavaプログラムをWebサーバーで動作させるソフトウェアをWebコンテナー(サーブレットコンテナ) といいます。ServletとJSPはWebコンテナーにあたります。

Webコンテナの種類
Webコンテナにはいくつか種類があります。
Webコンテナ | 説明 |
---|---|
Apache Tomcat | Javaの定番のWebサーバーでApacheが管理・開発 |
Glass Fish | Jakarta EEの実行環境に含まれる |
Jetty | Eclipseが管理・開発する軽量Webサーバー |
Web Logic | Oracleが管理・開発するJakarta EEのWebサーバー |
Web Sphere | IBMが管理・開発するJakarta EEのWebサーバー |
Tomcat
Apache Tomcatとは
Apache TomcatはWebコンテナの代表的なソフトウェアです。「Tomcat」はサーブレットコンテナ、「Apache」はWebサーバーを指し、それぞれ連携して動作します。

名称 | 役割 | 説明 |
---|---|---|
Apache | Webサーバ | HTTPでコンテンツを送受信 |
Tomcat | サーブレットコンテナ | Java Servlet / JSPを動作 |
Tomcatインストール
Pleiadesの場合
Pleiadesの場合、Tomcatがデフォルトでインストールされているので、個別にインストールする必要はありません。
Tomcatフォルダの確認(Mac)
「アプリケーション > Eclipse.app」を右クリックして「パッケージの内容を表示」をクリックします。
「Contents > tomcat」にTomcatの実行ファイルが配置されています。
ソースでインストールする場合(Mac)
もし個別にインストールしたい場合は、公式サイトからTomcatのソースをダウンロードしてインストールします。
Tomcatのソースダウンロード
Apache Tomcatにアクセスして、TomcatのZIPファイルをダウンロードします。今回はバージョン「9.0.62」を利用しますが、その都度合わせてください。

ZIPの解凍
ダウンドードした「apache-tomcat-9.0.62.zip」を解凍し、任意の場所に配置します。
ソースインストール
「アプリケーション」フォルダに配置します。配置場所はどこでも構いませんが、デスクトップや忘れてしまうような場所は避けましょう。

ターミナルを開き、Tomcatの「bin」フォルダに移動します。
% cd /Applications/apache-tomcat-9.0.62/bin/
実行権限の変更
Tomcatの各ファイルに実行権限を与えます。
% chmod 775 *.sh
Tomcat起動
「startup.sh」を実行します。
% ./startup.sh
Tomcat停止
「shutdown.sh」を実行します。
% ./shutdown.sh
演習
問題1
JavaのWebコンテナはどれでしょうか?
1)Apache
2)Nginx
3)Tomcat
4)IIS
問題2
「Java Servlet」の説明で正しいのはどれですか?
1)コンテンツをそのままレスポンスする静的コンテンツ
2)HTMLにJavaプログラムを埋め込むスクリプティング機能
3)Webサーバーで動作するJavaプログラム
4)「Apache」「Nginx」などのサーバーの1つ