OSS探訪

Action・Interceptor・tag libraryでJavaのMVC Web applicationを構築する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
1,368
主要言語
Java
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/02
ページ内ナビ

概要

Apache Strutsは、JavaのWeb applicationをMVC構成で実装するframeworkです。Actionでrequest処理を受け、Interceptorで認証・validationなどの横断処理を組み合わせ、JSP向けtag libraryやREST・JSON等のpluginで機能を拡張できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

Actionを中心にrequest処理とview遷移を構成する

URL mappingからActionへrequestを渡し、実行結果に応じてJSPなどのviewへ遷移させます。form parameterのbindingやvalidationもframeworkの仕組みと組み合わせられます。

出典:[1][2]

Interceptorで共通処理をrequest pipelineへ組み込む

authentication、parameter処理、validation、workflowなどの共通処理をInterceptorとしてActionの前後へ組み込めます。application固有の横断処理もstackへ追加できます。

出典:[2]

pluginでREST・JSONなどの用途へ拡張する

Convention、REST、JSON、Springなど複数pluginが用意され、必要な機能をMaven dependencyとして追加できます。coreだけで始めて用途に応じて拡張する構成を取れます。

出典:[1][4]

向いている用途

既存のJava Servlet/JSP資産をMVC構成で保守・拡張する用途に向く

Action中心の既存Struts applicationや、Servlet containerへWARをdeployする企業向けWeb systemを継続保守する場合に適しています。

出典:[2]

導入前の確認

7.4.0はJava 17とJakarta Servlet API 6以上を前提にする

2026年10月2日公開のStruts 7.4.0が現在のbest available GAです。7.xはJava 17以上とJakarta Servlet API 6以上を必要とするため、古いJava EE containerからは移行作業が必要です。

出典:[5][3]

Java 8系環境向けには6.12.0も並行提供される

同じ2026年10月2日に6.12.0もGA公開されており、6.xはJava 8、Servlet API 3.1、JSP API 2.1を最低要件とします。release lineを混在させず、containerとJava versionに合わせて選択します。

出典:[5]

古いreleaseはsecurity bulletinを確認して更新する

Strutsは過去releaseに複数のsecurity bulletinがあり、公式siteは影響versionから修正版へのupgradeを案内しています。既存systemではversion固定だけでなくsecurity pageとannouncementを継続確認します。

出典:[5][6]

参考にした公式資料

  1. [1]Apache Struts(2026-10-03)
  2. [2]Apache Struts Getting Started(2026-10-03)
  3. [3]How to create a Struts web application(2026-10-03)
  4. [4]Struts plugins(2026-10-03)
  5. [5]Apache Struts announcements 2026(2026-10-03)
  6. [6]Apache Struts releases(2026-10-03)
編集部からの補足

既存Struts資産を保守する場合は、framework機能より先に利用中release lineとsecurity bulletinを確認してください。新規または大規模更新では、7.xのJava 17/Jakarta要件を満たせるかを最初の判断点にすると移行範囲を見積もりやすくなります。

3ステップで試す

  1. 1

    Struts 7.4.0のblank applicationを生成する

    Struts 7系はJava 17以上とJakarta Servlet API 6以上を前提にします。Maven archetypeで最小applicationを作成します。

    mvn archetype:generate -B -DgroupId=example -DartifactId=struts-demo -DarchetypeGroupId=org.apache.struts -DarchetypeArtifactId=struts2-archetype-blank -DarchetypeVersion=7.4.0
  2. 2

    生成されたprojectのtestを実行する

    依存関係を解決し、archetypeに含まれるtestが通ることを確認します。

    cd struts-demo && mvn test
  3. 3

    Jettyで起動して画面を確認する

    起動後にbrowserでhttp://localhost:8080/struts-demo/example/Welcome.actionを開き、sample Actionのresponseを確認します。

    cd struts-demo && mvn jetty:run
公式READMEで確認

成長

成長の推移 · 直近30日

1,368 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
72
Open PR
5

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • java
  • struts
  • web-framework
Stars
1,368
Forks
871
Watchers
120
Open Issues
0
Contributors
88
所有者種別
Organization
主要言語
Java
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/02

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?