Javaでサーブレット/JSPを使ってWebアプリケーションを制作するにあたって、Eclipseの動的Webプロジェクトのディレクトリ構成を覚えるための自分用メモです。
使用環境
PC:MacBook Air 2018
OS:macOS Sonoma 14.3.1
IDE:Eclipse 2023
Webコンテナ:Tomcat 10.1.18
サーブレット/JSPとは?
サーブレット(Java Servlet)とは、サーバー側で動的なWebページを生成・データ処理ができるJavaで記述されたプログラムです。
JSPは、サーブレットを自動で生成することができるファイルで、HTML内にJavaのプログラムを記述できます。
MVCモデルにおいて、サーブレットがController、JSPがViewを担当することによって、プログラマーとデザイナーが分担して作業できます。
Eclipseで動的Webプロジェクトを作成
Eclipseでサーブレット/JSPを作成する場合、「ファイル」→「新規」→「プロジェクト」→「Web」→「動的Webプロジェクト」で動的Webプロジェクトを新規作成します。
(パッケージ・エクスプローラーを見ると、プロジェクトのルートにTomcatのサーバー・ランタイムが追加されています。)
ローカルリポジトリのルートディレクトリに作成する場合は、「デフォルト・ロケーションを使用」のチェックを外して、ロケーションにローカルリポジトリのルートディレクトリを指定して作成します。
あとは、Webモジュールの画面で「web.xmlデプロイメント記述子の生成」にチェックを入れて「完了」から作成を完了すればOKです。
動的Webプロジェクトのディレクトリ構成
まず、通常のJavaプロジェクトのディレクトリ構成は以下のようになります(ローカルリポジトリのルートディレクトリに作成した場合)。
. プロジェクトのルートディレクトリ
├── bin(クラスファイルを管理)
├── .classpath(隠しファイル)
├── .gitignore(隠しファイル)
├── .project(隠しファイル)
├── README.md
├── .settings(隠しフォルダ)
└── src
└── パッケージ名
└── Sample.java
それに対して、動的Webプロジェクトのディレクトリ構成は以下のようになります(ローカルリポジトリのルートディレクトリに作成した場合)。
. プロジェクトのルートディレクトリ
├── build
│ └── classes(クラスファイルを管理)
├── .classpath(隠しファイル)
├── .gitignore(隠しファイル)
├── .project(隠しファイル)
├── README.md
├── .settings(隠しフォルダ)
└── src
└── main
├── java(src/main/java)
│ ├── servlet
│ │ └── IndexServlet.java
│ └── model
│ └── Sample.java
└── webapp
├── META-INF
│ └── MANIFEST.MF
└── WEB-INF
├── jsp
│ └── index.jsp
├── lib(ライブラリフォルダ)
└── web.xml
WEB-INFディレクトリ以下はブラウザから直接リクエストできないので、jspファイルはWEB-INF以下にフォルダ(上記だとjspフォルダ)を作って管理しました。