Apache Struts logo

Apache Struts

Apache Struts is a free, open-source, MVC framework for creating elegant, modern Java web applications. It provides a clean separation between the model, view, and controller layers with a powerful convention-over-configuration approach, interceptor-based AOP support, type-safe configuration, and built-in REST plugin. Apache Struts is maintained by the Apache Software Foundation and is widely used in enterprise Java web development.

1 APIs 7 Features
JavaMVCWeb ApplicationsWeb FrameworkOpen Source

APIs

Apache Struts REST Plugin

The Struts REST Plugin provides a convention-based REST API framework for building RESTful services. It maps HTTP methods to action methods (GET→index/show, POST→create, PUT→upd...

Features

Convention-Over-Configuration

Zero-XML configuration with naming conventions for action and result mapping.

Interceptor Framework

AOP-style interceptors for cross-cutting concerns like validation, logging, and security.

Type Conversion

Automatic type conversion between HTTP request parameters and Java types.

OGNL Expression Language

Object-Graph Navigation Language for dynamic data binding and expression evaluation.

Tiles Integration

Template composition via Apache Tiles for reusable page layouts.

REST Plugin

Convention-based REST API support with content type negotiation.

Spring Integration

Native Spring Framework integration for dependency injection.

Use Cases

Enterprise Java Web Applications

Build large-scale Java web applications with clean MVC separation.

RESTful Web Services

Create REST APIs using the Struts REST plugin with JSON/XML content negotiation.

Form-Based Applications

Complex form processing with server-side validation and type conversion.

Integrations

Spring Framework

Native Spring IoC container integration for dependency injection.

Hibernate

Hibernate ORM integration for database persistence in action classes.

Apache Tiles

Template composition framework for reusable page layouts and components.

FreeMarker

FreeMarker template engine support as an alternative to JSP views.

Velocity

Apache Velocity template engine for HTML view rendering.

Resources

👥
GitHubRepository
GitHubRepository
🔗
Documentation
Documentation
🌐
Portal
Portal
🚀
GettingStarted
GettingStarted
📄
ReleaseNotes
ReleaseNotes
💬
Support
Support
📜
TermsOfService
TermsOfService
💬
FAQ
FAQ