🎯 本記事の目的
本記事では、Struts2フレームワークとMavenを中心に、掲示板アプリ開発の基盤となる仕組みについて説明します。
Vol.4で紹介した詳細設計を元に、
- なぜこの技術を使うのか?
- 構成ファイルがどのように機能しているのか?
について理解を深めていきます。
🏗 Struts2とは?
Struts2は、JavaでWebアプリケーションを開発するためのMVCフレームワークです。
MVCモデルは、以下のように役割を分離することで保守性・拡張性を高めます:
- Model(業務ロジック)
- View(画面表示)
- Controller(制御)
🔧 主な構成ファイル
web.xml
- Webアプリのエントリーポイント
- Struts2の
FilterDispatcher
(現StrutsPrepareAndExecuteFilter
)を設定
struts.xml
- Struts2の中核設定ファイル
- 各アクション(Actionクラス)と画面(JSP)とのマッピングを定義
struts.properties
(任意)
-
struts.xml
で指定できない細かい設定を記述 - 多くのプロジェクトでは未使用
⚙️ Struts2における制御の流れ
- 画面(JSP)からのリクエスト
- Actionクラスに制御が移る
- 業務ロジックを処理
- 処理結果に応じてJSPにフォワード
このように、Struts2はMVCアーキテクチャをベースに設計されています。
📦 Mavenとは?
Mavenは、Javaプロジェクトにおけるビルドツール兼ライブラリ管理ツールです。
主な役割:
- 依存ライブラリの自動管理
- ビルド処理の自動化
- 環境の統一
✅ Mavenを利用する理由
-
pom.xml
に依存関係を記述するだけで自動でダウンロード&設定 - WARファイル作成やコンパイルも簡単
- チーム開発において環境構築が容易になる
📂 pom.xmlの役割
- Struts2などの必要なライブラリを依存関係として定義
- Javaのコンパイルバージョン、WARファイルの出力などを設定
- ビルド時のプラグインを定義
📝 pom.xmlの記述例(Struts2関連抜粋)
<dependencies>
<!-- Struts2 本体 -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5.26</version>
</dependency>
<!-- JSPやServlet API(providedスコープ) -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Javaコンパイル設定 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!-- WARファイル作成 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.1</version>
</plugin>
</plugins>
</build>
🧰 Struts2 × Maven 連携のポイント
-
pom.xmlにStruts2関連の依存関係を記述するだけでOK
-
手動でJARをダウンロード&配置する手間は不要
-
mvn packageで簡単にWARファイルを生成できる
-
WARファイルをTomcatのwebappsに配置すればすぐに起動可能
-
src/main/resources/struts.xml にStrutsのルーティング設定を記述
🗂 Mavenの標準ディレクトリ構成
project-root/
├── src/
│ ├── main/
│ │ ├── java/ # Javaコード(Actionクラスなど)
│ │ ├── resources/ # 設定ファイル(struts.xmlなど)
│ │ └── webapp/ # Webリソース(JSP, HTML, CSSなど)
│ │ └── WEB-INF/
│ │ └── web.xml # Webアプリの設定ファイル
├── target/ # Mavenのビルド成果物(WARなど)
└── pom.xml # プロジェクト構成ファイル
✅ まとめ
項目 | 説明 |
---|---|
Struts2 | JavaのMVC Webフレームワーク。業務ロジック、画面、制御を分離 |
Maven | 依存管理とビルドを自動化し、開発効率と環境統一を支援 |
構成ファイル |
web.xml , struts.xml , pom.xml が中心 |
推奨構成 | Maven標準ディレクトリ構成を守るとビルドと管理がスムーズ |
📎 補足資料リンク
- 📎 補足資料リンク
📄 掲示板アプリケーション環境構築手順書(PDF)
▶️ 次回 Vol.5