Apache Tomcat(アパッチトムキャット)とは?

1. Apache Tomcatとは?

Apache Tomcat(アパッチ トムキャット) とは、JavaのWebアプリケーションを動かすためのサーバーソフトウェア(サーブレットコンテナ) です。

  • サーブレットやJSP(Java Server Pages)を動かすためのWebサーバー
  • Javaで作られたWebアプリケーションは、そのままでは動きませんが、Tomcatがアプリを動かす環境を提供します。
  • Webブラウザからのリクエスト(HTTPリクエスト)を受け取り、サーブレットやJSPを実行し、結果をブラウザに返す仕組みです。

イメージ図

[Webブラウザ] → リクエスト (URLの入力) → [Tomcat] → [JSP/Servletを実行] → [HTMLをブラウザに返す]

2. Tomcatの役割と特徴

役割詳細
WebサーバーHTTP通信を受け取り、ブラウザにHTMLを返す
サーブレットコンテナサーブレットやJSPを実行する環境
アプリケーションサーバー簡単なアプリケーションの動作環境を提供
セッション管理ユーザーごとのセッションを管理
WebアプリのデプロイJavaアプリをデプロイして実行する

ポイント

  • サーブレット/JSPが動くのはTomcatのおかげ
  • Tomcatは、Webサーバーの機能も持つアプリケーションサーバーの一部です。

3. なぜTomcatが必要なのか?

  1. JSP/ServletはTomcatがないと動かない
    • JSPやサーブレットは「HTML + Javaの機能」ですが、HTMLとは異なりWebブラウザが直接解釈できません
    • Tomcatが、JSP/ServletをHTMLやJSONに変換して返すことで、Webアプリが動作します。
  2. Webアプリケーションの実行環境が必要
    • **Javaアプリは「.classファイル(バイトコード)」**として動作しますが、ブラウザはこれを理解できません。
    • TomcatがこれをHTML、JSON、APIレスポンスに変換してブラウザに返します。
  3. Java EEの一部機能が使える
    • セッション管理や**JNDI(データベース接続の管理)**が利用可能。

4. Tomcatのインストール手順

1. ダウンロード

2. 解凍

  • ダウンロードしたZIPファイルを解凍します。

3. 環境変数の設定(必要な場合のみ)

  • Windows: CATALINA_HOME に Tomcat の解凍先を設定。
  • Linux: .bashrcexport CATALINA_HOME=/path/to/tomcat を追加。

4. Tomcatの起動

  • Windows: bin/startup.bat を実行。
  • Linux / macOS: sh bin/startup.sh を実行。

5. 動作確認

  • ブラウザでhttp://localhost:8080 にアクセスし、Tomcatの管理画面が表示されれば成功です。

5. Tomcatの基本的な操作

起動方法

OSコマンド
Windowsbin/startup.bat
Linux/macOSsh bin/startup.sh

停止方法

OSコマンド
Windowsbin/shutdown.bat
Linux/macOSsh bin/shutdown.sh

6. Tomcatのファイル構成

ディレクトリ名説明
binTomcatの起動/停止スクリプト (startup.bat, shutdown.bat)
confTomcatの設定ファイル (server.xml, web.xml)
libTomcatで動作するためのライブラリ (JARファイル)
logsTomcatのログファイル (エラーやアクセスログ)
webappsアプリケーションのデプロイ先 (JSPやWARファイルを配置)
workJSPがサーブレットに変換された一時ファイルが保存される

ポイント

  • webapps フォルダにJSPファイルやWARファイルを配置すると、Tomcatは自動でアプリをデプロイします。

7. Tomcatの設定ファイル

1. server.xml

  • Tomcatのメインの設定ファイルです。
  • ポートの設定HTTPの動作を管理します。

<Connector port="9090" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

2. web.xml

  • JSPやサーブレットのURLマッピングを指定する設定ファイルです。
  • Webアプリごとに異なる設定が必要です。

Servletのマッピング例

<servlet>
<servlet-name>UserServlet</servlet-name>
<servlet-class>controller.UserServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>UserServlet</servlet-name>
<url-pattern>/user</url-pattern>
</servlet-mapping>

8. よく使うTomcatのコマンド

コマンド説明
bin/startup.batTomcatを起動する (Windows)
sh bin/startup.shTomcatを起動する (Linux, macOS)
bin/shutdown.batTomcatを停止する (Windows)
sh bin/shutdown.shTomcatを停止する (Linux, macOS)
catalina.bat runコンソールモードでTomcatを実行

9. Tomcatの注意点

注意点説明
ポート番号の競合8080ポートが他のアプリと競合することがあります。server.xmlで変更できます。
メモリの設定Tomcatのヒープメモリの制限を超えると、OutOfMemoryErrorが発生します。setenv.sh で設定できます。
デプロイの確認webappsに配置したファイルがデプロイされているか、localhost:8080/manager で確認します。
アクセスログの確認logs/catalina.out にエラーが記録されます。起動しないときはここを確認しましょう。

10. まとめ

機能説明
Tomcatの役割JSPやサーブレットを動かすWebサーバー
メインのファイルserver.xml, web.xml, catalina.sh
起動コマンドsh bin/startup.sh (Linux) / bin/startup.bat (Windows)
デプロイ方法webappsにWARファイルを配置する

良かったらフォローお願いします

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です