ページ内ナビ
概要
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の仕組みと組み合わせられます。
Interceptorで共通処理をrequest pipelineへ組み込む
authentication、parameter処理、validation、workflowなどの共通処理をInterceptorとしてActionの前後へ組み込めます。application固有の横断処理もstackへ追加できます。
出典:[2]
向いている用途
既存の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からは移行作業が必要です。
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]
参考にした公式資料
- [1]Apache Struts(2026-10-03)
- [2]Apache Struts Getting Started(2026-10-03)
- [3]How to create a Struts web application(2026-10-03)
- [4]Struts plugins(2026-10-03)
- [5]Apache Struts announcements 2026(2026-10-03)
- [6]Apache Struts releases(2026-10-03)
編集部からの補足
既存Struts資産を保守する場合は、framework機能より先に利用中release lineとsecurity bulletinを確認してください。新規または大規模更新では、7.xのJava 17/Jakarta要件を満たせるかを最初の判断点にすると移行範囲を見積もりやすくなります。
3ステップで試す
- 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
生成されたprojectのtestを実行する
依存関係を解決し、archetypeに含まれるtestが通ることを確認します。
cd struts-demo && mvn test - 3
Jettyで起動して画面を確認する
起動後にbrowserで
http://localhost:8080/struts-demo/example/Welcome.actionを開き、sample Actionのresponseを確認します。cd struts-demo && mvn jetty:run
成長
成長の推移 · 直近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で投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Eclipse Jetty4,097 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
HTTP/1・2・3・WebSocket・Servletをstandalone/embeddedで扱うJava web server/container
Java - Apache ActiveMQ Classic2,464 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
JMS・AMQP・MQTT・STOMPを一つのJava message brokerで中継し、既存enterprise messagingをself-hostする
Java - Convertigo387 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
backend connector・microservice・offline sync・Web/mobile UIを一つのgoverned low-code platformで構築する
Java - Vue 2212,485 Stars
共通タグ 1件 · 共通カテゴリ 1件
Vue 2をEOL済みlegacy frameworkとして保守し、Vue 3移行・security/compliance対応の判断点を整理する
TypeScript - Next.js143,017 Stars
共通タグ 1件 · 共通カテゴリ 1件
Reactのrouting・rendering・server機能をまとめてフルスタックWebアプリを構築する
JavaScript - FastAPI102,770 Stars
共通タグ 1件 · 共通カテゴリ 1件
Pythonの型宣言から入力検証・依存注入・OpenAPIを一体化するAPI framework
Python
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。