# apache/struts

Apache Struts is a free, open-source, MVC framework for creating elegant, modern Java web applications

Repository: https://github.com/apache/struts
Canonical: https://ross.abutalabs.com/products/struts
Homepage: https://struts.apache.org/
Language: Java
License: Apache-2.0
License Family: permissive
Topics: java, struts, web-framework
Last push: 2026-08-26T01:34:02+00:00

## Health v2 (maintenance only)
Score: 94/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 83, longevity 100
- inputs: {"age_days": 4613, "days_push": 8, "days_rel": 32, "gap_med": 43, "n_releases_24m": 12}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1366, forks 863 (observed 2026-08-28T04:04:31.268989+00:00)

## What it is
Apache Struts is a free, open-source MVC framework for building Java web applications, favoring convention over configuration with an extensible plugin architecture. It ships with plugins for REST, AJAX, and JSON and is actively maintained under the Apache Software Foundation.

## Use cases
- build a java mvc web application
- separate business logic from jsp page design and control flow
- create rest endpoints in a java web app
- process and validate html forms in java
- add ajax and  support to a java web application
- maintain a legacy struts 2 application and apply security patches

## When to choose
- you are building or maintaining a traditional Java servlet-based MVC web application
- your team already knows Struts and wants convention-over-configuration with interceptor and plugin extensibility
- you need a mature, Apache-licensed framework with long-term security bulletins and release support

## When to avoid
- you are starting a modern Java web project where Spring Boot, Quarkus, or Micronaut would be a better fit
- you need a reactive or microservices-first stack rather than a servlet-based MVC framework
- you cannot keep up with its frequent security bulletins and required upgrades

## Facets
- artifact type: framework
- maturity: active
- function: web-framework, routing, templating, form-handling, middleware
- domain: web-development, backend
- platform: jvm
- tags: mvc, struts2, java-web, jsp, interceptors, rest-plugin, apache, java, web-server

## Member repositories
- apache/struts (main) score 94

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:31.268989+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:41:11.505378+00:00, confidence not recorded.
  - readme: https://github.com/apache/struts (fetched 2026-08-28T04:04:31.268989+00:00, sha d369995a7a63)
  - homepage: https://struts.apache.org/ (fetched 2026-08-29T11:58:24.360366+00:00, sha fbebd5d24f6c)
  - site_page: https://struts.apache.org/getting-started (fetched 2026-08-29T11:58:24.366315+00:00, sha 66ab83245c70)
  - site_page: https://struts.apache.org/maven/struts2-core/apidocs/index.html (fetched 2026-08-29T11:58:24.367810+00:00, sha 7cf68086d00e)
  - site_page: https://struts.apache.org/releases.html (fetched 2026-08-29T11:58:24.362770+00:00, sha fcbfa8725334)
  - site_page: https://struts.apache.org/kickstart.html (fetched 2026-08-29T11:58:24.364591+00:00, sha cc35216a26fe)
  - site_page: https://cwiki.apache.org/confluence/display/WW/FAQs (fetched 2026-08-29T11:58:24.369288+00:00, sha 77d48eb8cb90)
  - site_page: https://struts.apache.org/helping.html (fetched 2026-08-29T11:58:24.371069+00:00, sha f8d0359fa02a)
- Data as of 2026-08-30T08:39:29.467469+00:00.
