この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:3
ページ更新者:atom
更新日時:2026-05-17 15:10:57

タイトル: Struts

StrutsとはApache Software Foundationによって開発されているOSSのWebアプリケーションフレームワーク

MVCアーキテクチャを採用しておりActionServletJSP等で構築される。

2013年にサポートが終了している。

Strutsの位置づけと現状

  • Struts 1: 2000年代初頭〜中盤に普及。2013年4月にEOL(End Of Life)
  • Struts 2: アーキテクチャを刷新した別物。現在もメンテナンスされているが、Spring 系に置き換えられているケースが多い
  • 新規開発: Spring Framework(Spring Boot)が事実上の標準
  • 既存システムの保守として現在も現役。年金・行政・金融系などで残存

本ページの子ページ一覧

項目内容
導入方法StrutsプロジェクトのEclipse/Tomcatへの組み込み
struts-config.xmlの説明アクション・フォーム定義の設定ファイル
ActionForm画面入力値を保持するJavaBeans
Actionリクエスト処理の本体。execute()を実装
エラー一覧Struts特有のエラーへの対処
JSPタグhtml:form, logic:iterate 等の標準タグ
カスタムタグ(taglib)独自タグライブラリの定義方法

Strutsの基本構造(MVC)

要素役割
Model (DAO等)ビジネスロジック、データアクセス
View (JSP)画面表示
Controller (ActionServlet)リクエストを Action に振り分け
ActionForm入力値の保持
Action処理本体(execute()
struts-config.xmlURLとAction/JSPのマッピング定義

典型的なリクエスト処理の流れ

  1. ユーザーがフォーム送信
  2. ActionServlet がリクエストを受信
  3. struts-config.xml を参照して該当 Action を特定
  4. 入力値を ActionForm に詰める(必要なら自動バリデーション)
  5. Action.execute() が処理を実行
  6. 戻り値の ActionForward が示すJSPに遷移

注意点(保守時の前提)

  • セキュリティ更新が出ない: Struts 1 はEOL済みで脆弱性が修正されない。本番運用ではフロントにWAFを置くなど別レイヤで防御する
  • Struts 2 の脆弱性: 過去にOGNL式評価による重大な脆弱性(2017年のEquifax事件など)があった。最新パッチを必ず当てる
  • 新規機能は Spring へ: 同居させる場合は Spring DispatcherServlet を別パスにマッピングして共存させるパターンが現実的

関連