OSS Tanbou

build Java MVC web applications with actions, interceptors, tag libraries, and plugins

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
1,368
Primary language
Java
License
Apache-2.0
Repository last updated
Oct 2, 2026
On this page

Overview

Apache Struts is a Java MVC web framework centered on Actions, Interceptors, tag libraries, and an extensible plugin model. Requests are mapped to Actions, cross-cutting behavior is composed through Interceptors, and plugins add capabilities such as REST, JSON, and Spring integration.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Center request handling and view transitions on Actions

URL mappings dispatch requests to Actions, and the result selects a JSP or other view. Parameter binding and validation can be integrated with the same framework lifecycle.

Sources: [1][2]

Compose cross-cutting behavior through Interceptors

Authentication, parameter handling, validation, workflow, and other cross-cutting behavior can be composed around Actions through Interceptors and custom interceptor stacks.

Sources: [2]

Extend the framework with REST, JSON, and other plugins

Convention, REST, JSON, Spring, and other plugins are available as Maven dependencies, allowing applications to start with core functionality and add capabilities as needed.

Sources: [1][4]

Best fit

Fits maintenance and extension of Servlet/JSP applications using MVC

Struts is especially relevant for maintaining Action-based applications and enterprise web systems packaged as WAR files for deployment to Servlet containers.

Sources: [2]

Before adoption

Struts 7.4.0 requires Java 17 and Jakarta Servlet API 6+

Struts 7.4.0, released October 2, 2026, is the current best-available GA release. The 7.x line requires Java 17+ and Jakarta Servlet API 6+, so older Java EE containers require migration work.

Sources: [5][3]

The 6.12.0 line remains available for Java 8 environments

Struts 6.12.0 was also released on October 2, 2026. The 6.x line has minimum requirements of Java 8, Servlet API 3.1, and JSP API 2.1, so release lines should be chosen according to the deployment platform.

Sources: [5]

Review security bulletins and upgrade older releases

Older Struts releases have been affected by multiple security bulletins. Existing systems should track the official security and announcement pages and upgrade to fixed releases rather than relying only on a pinned historic version.

Sources: [5][6]

Official sources

  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)
Supplemental curator note

For existing Struts systems, identify the active release line and relevant security bulletins before focusing on framework features. For new development or major upgrades, first confirm whether Java 17 and Jakarta Servlet requirements of the 7.x line fit the deployment platform.

Try it in 3 steps

  1. 1

    Generate a blank Struts 7.4.0 application

    The Struts 7 line requires Java 17+ and Jakarta Servlet API 6+. Use the Maven archetype to create a minimal application.

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

    Run the generated project's tests

    Resolve dependencies and verify that the tests included by the archetype pass.

    cd struts-demo && mvn test
  3. 3

    Start it with Jetty and open the sample action

    After startup, open http://localhost:8080/struts-demo/example/Welcome.action in a browser to verify the sample Action response.

    cd struts-demo && mvn jetty:run
Check the official README

Growth

Growth trends · Last 30 days

1,368 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
72
Open PRs
5

Development activity is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • java
  • struts
  • web-framework
Stars
1,368
Forks
871
Watchers
120
Open issues
0
Contributors
88
Owner type
Organization
Primary language
Java
License
Apache-2.0
Repository last updated
Oct 2, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?