Apache Struts website screenshot

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...

Collections

Pricing Plans

Rate Limits

Apache Struts Rate Limits

5 limits

RATE LIMITS

FinOps

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

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Apache Struts REST Plugin
  version: 1.0.0
request:
  auth:
    type: basic
    username: '{{username}}'
    password: '{{password}}'
items:
- info:
    name: resource
    type: folder
  items:
  - info:
      name: List resources (index)
      type: http
    http:
      method: GET
      url: http://{host}/{context}/:resource
      params:
      - name: resource
        value: ''
        type: path
        description: The resource name (mapped to a Struts controller)
    docs: List resources (index)
  - info:
      name: Create a new resource
      type: http
    http:
      method: POST
      url: http://{host}/{context}/:resource
      params:
      - name: resource
        value: ''
        type: path
        description: The resource name (mapped to a Struts controller)
      body:
        type: json
        data: '{}'
    docs: Create a new resource
  - info:
      name: Render form for a new resource (editNew)
      type: http
    http:
      method: GET
      url: http://{host}/{context}/:resource/new
      params:
      - name: resource
        value: ''
        type: path
        description: The resource name (mapped to a Struts controller)
    docs: Render form for a new resource (editNew)
  - info:
      name: Show a single resource by id
      type: http
    http:
      method: GET
      url: http://{host}/{context}/:resource/:id
      params:
      - name: resource
        value: ''
        type: path
        description: The resource name (mapped to a Struts controller)
      - name: id
        value: ''
        type: path
        description: Resource identifier
    docs: Show a single resource by id
  - info:
      name: Update a single resource (update)
      type: http
    http:
      method: PUT
      url: http://{host}/{context}/:resource/:id
      params:
      - name: resource
        value: ''
        type: path
        description: The resource name (mapped to a Struts controller)
      - name: id
        value: ''
        type: path
        description: Resource identifier
      body:
        type: json
        data: '{}'
    docs: Update a single resource (update)
  - info:
      name: Delete a single resource (destroy)
      type: http
    http:
      method: DELETE
      url: http://{host}/{context}/:resource/:id
      params:
      - name: resource
        value: ''
        type: path
        description: The resource name (mapped to a Struts controller)
      - name: id
        value: ''
        type: path
        description: Resource identifier
    docs: Delete a single resource (destroy)
  - info:
      name: Render edit form for an existing resource (edit)
      type: http
    http:
      method: GET
      url: http://{host}/{context}/:resource/:id/edit
      params:
      - name: resource
        value: ''
        type: path
        description: The resource name (mapped to a Struts controller)
      - name: id
        value: ''
        type: path
        description: Resource identifier
    docs: Render edit form for an existing resource (edit)
bundled: true