Apache Struts 2.x の Eclipse 環境における初期セットアップとデプロイ手順

Java Web アプリケーション開発において、Apache Struts 2 は依然として多くのプロジェクトで使用されている MVC フレームワークの一つです。本チュートリアルでは、Eclipse IDE を使用して Struts 2 環境を構築し、基本的な動作確認を行うまでのプロセスを解説します。

1. ソースコードとライブラリの準備

まず、公式リポジトリから最新安定版のアーカイブを取得します。ここでは最小構成のミニマルパッケージを選択することを推奨します。

  • Apache Struts 公式サイトより該当バージョンの zip または tar.gz ファイルをダウンロードします。
  • 解凍後、生成されたディレクトリ内の lib フォルダにある全ライブラリJARファイルを、作成済みの Struts 2 プロジェクトのクラスパスへコピーします。

これにより、アプリケーション実行に必要なコンポーネントが利用可能になります。

2. 設定ファイルの記述

2.1 struts.xml の定義

プロジェクトのルートディレクトリ、または src 配下に struts.xml を新規作成します。このファイルは Struts 2 のアクションマッピングと結果ルーティングを管理します。

以下の要素に注意して記述を行います:

  • DIGITAL 記法 (DTD) を宣言し、XML の構造整合性を保証します。
  • ルートノードには必ず <struts> タグを使用します。
  • 親のパッケージ名や拡張先(通常は struts-default)を指定します。

以下はサンプル実装です。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">

<struts>
    <package name="base_package" extends="struts-default">
        <!-- デフォルトアクション参照 -->
        <default-action-ref name="login_view" />

        <!-- アクション定義 -->
        <action name="login_view" class="com.example.LoginAction">
            <result name="success">/views/success.jsp</result>
            <result name="error"/>/views/error.jsp</result>
        </action>
    </package>
</struts>

2.2 web.xml のフィルタ設定

Servlet コンテナ(例:Tomcat)にて Struts の処理を制御するために、WEB-INF/web.xml でフィルタを定義する必要があります。

一般的には、準備フェーズと実行フェーズを統合した StrutsPrepareAndExecuteFilter クラスを用いることが標準的です。

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

3. ビュー層の実装

上記設定で定義したアクションの結果として表示される JSP ファイルを作成します。views ディレクトリ内に success.jsp を配置します。

JSP が WEB-INF ディレクトリ下のみに配置される場合、URL マッピングの修正が必要です。外部からの直接アクセスを防ぐためにも、WEB-INF 以下への配置はセキュリティ上好まれます。

<%@ page contentType="text/html;charset=UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <title>Login Success</title>
</head>
<body>
    <h2>System Welcome Message</h2>
    <p>Struts 2 Framework initialized successfully.</p>
</body>
</html>

4. アプリケーションの展開と検証

Eclipse 内で Tomcat サーバーにプロジェクトを接続します。Server パーツを設定し、アプリを再起動します。

ブラウザにて以下のようなアドレスへアクセスし、設定が正常に反映されているか確認します。

  • Base Path: http://localhost:8080/YourProjectName/login_view

画面に「System Welcome Message」などの文字列が表示されれば、Struts 2 の基本的なパイプラインは正しく機能しています。

タグ: apache-struts Struts2 xwork tomcat-server jakarta-servlet

7月18日 16:03 投稿