【プログラミング】【java】Strutsの特徴と使い方 - j-komatsu/myCheatSheet GitHub Wiki

Strutsの特徴と使い方

目的

Strutsフレームワークを利用して、JavaベースのWebアプリケーションを効率的に構築・管理するための特徴、使い方、環境設定、主要コンポーネントについて整理します。


特徴

特徴 説明
MVCアーキテクチャ Model-View-Controllerパターンを採用し、ロジック、表示、データ管理を明確に分離。
強力なタグライブラリ カスタマイズ可能なタグライブラリを提供し、JSPページの作成を簡単にする。
フォームバリデーション 入力データの検証を容易にするためのバリデーションフレームワークを統合。
インターナショナリゼーション 多言語対応を容易に実現するための仕組みを提供。
拡張可能なプラグイン アプリケーションの機能拡張をサポートするプラグインシステムを備える。

使い方

  1. Strutsプロジェクトの作成

    • 必要なStrutsライブラリをMavenまたは手動でプロジェクトに追加。
  2. 基本的な設定ファイル

    • struts-config.xmlを用いてアクションやフォームを定義。
      <action-mappings>
          <action path="/login"
                  type="com.example.action.LoginAction"
                  name="loginForm"
                  input="/login.jsp"
                  scope="request" />
      </action-mappings>
  3. フォームとアクションの作成

    • フォームクラス:
      public class LoginForm extends ActionForm {
          private String username;
          private String password;
          // getter and setter
      }
    • アクションクラス:
      public class LoginAction extends Action {
          public ActionForward execute(ActionMapping mapping, ActionForm form,
                                       HttpServletRequest request, HttpServletResponse response) {
              LoginForm loginForm = (LoginForm) form;
              // ロジック処理
              return mapping.findForward("success");
          }
      }
  4. JSPページの作成

    • タグライブラリを使用してフォームを構築。
      <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
      <html:form action="/login">
          <html:text property="username" />
          <html:password property="password" />
          <html:submit value="Login" />
      </html:form>

環境設定

必要なツール 説明
JDK Java Development Kit 8以上を使用。
Apache Tomcat Strutsアプリケーションのデプロイ用サーバ。
IDE IntelliJ IDEAやEclipseを推奨。

主要コンポーネント

コンポーネント 説明
ActionForm ユーザー入力データを管理するJavaBeanクラス。
Action リクエストに基づきビジネスロジックを実行するクラス。
ActionForward 次のアクションまたはJSPページへの遷移を定義。
ActionMapping アクションとそのパス、フォーム、遷移をマッピングする設定。
struts-config.xml Strutsの設定ファイル。アクションやフォームのマッピングを管理。
タグライブラリ JSPページで使用するUIコンポーネントを提供するカスタムタグ。
Validation Framework 入力バリデーションを管理する仕組み。
Internationalization (I18N) 多言語対応を実現するためのプロパティファイル管理システム。

⚠️ **GitHub.com Fallback** ⚠️