Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Apache Struts

From Wikipedia, the free encyclopedia
Open-source web application framework
For the predecessor of Apache Struts 2, seeApache Struts 1.
Apache Struts 2
Apache Struts Logo
DeveloperApache Software Foundation
Initial releaseOctober 10, 2006; 19 years ago (2006-10-10)
Stable release
7.0.3 / March 7, 2025; 8 months ago (2025-03-07)[1]
Repository
Written inJava
Operating systemCross-platform
PlatformCross-platform (JVM)
PredecessorApache Struts 1
TypeWeb framework
LicenseApache License 2.0
Websitestruts.apache.orgEdit this at Wikidata

Apache Struts 2 is anopen-sourceweb application framework for developingJava EEweb applications. It uses and extends theJava ServletAPI to encourage developers to adopt amodel–view–controller (MVC) architecture. TheWebWork framework spun off fromApache Struts 1 aiming to offer enhancements and refinements while retaining the same general architecture of the original Struts framework. In December 2005, it was announced that WebWork 2.2 was adopted as Apache Struts 2, which reached its first full release in February 2007.[2]

Struts 2 has a history of critical security bugs,[3] many tied to its use ofOGNL technology;[4] some vulnerabilities can lead toarbitrary code execution. In October 2017, it was reported that failure byEquifax to address a Struts 2 vulnerability advised in March 2017 was later exploited in thedata breach that wasdisclosed by Equifax in September 2017.[5][6]

Features

[edit]
  • SimplePOJO-based actions[7]
  • Simplified testability
  • Thread safe
  • AJAX support
  • Template support[9]
  • Support for different result types[10]
  • Easy to extend with plugins
    • REST plugin[11] (REST-based actions, extension-less URLs)
    • Convention plugin (action configuration via Conventions and Annotations)
    • Spring plugin[12] (dependency injection)
    • Hibernate plugin
    • Support in design
    • JFreechart plugin (charts)
    • jQuery plugin (Ajax support, UI widgets, dynamic table, charts)
    • Rome plugin

See also

[edit]

Citations

[edit]
  1. ^"Struts 7.0.3".GitHub. Retrieved16 March 2025.
  2. ^About Apache Struts 2Archived January 14, 2014, at theWayback Machine
  3. ^"Apache Struts : List of security vulnerabilities".cvedetails.com. RetrievedOctober 2, 2017.
  4. ^Munoz, Alvaro (January 14, 2014)."Struts 2: OGNL Expression Injections".HPE.com. Archived fromthe original on October 3, 2017. RetrievedOctober 2, 2017.
  5. ^Chirgwin, Richard (October 2, 2017)."Equifax couldn't find or patch vulnerable Struts implementations".The Register. RetrievedOctober 2, 2017.
  6. ^Goodin, Dan (October 2, 2017)."A series of delays and major errors led to massive Equifax breach".Ars Technica. RetrievedOctober 2, 2017.
  7. ^Newton 2009, p. 9, §1 Struts and Agile Development - Actions.
  8. ^Newton 2009, p. 258, §13 Rich Internet Applications - Dojo tags.
  9. ^Newton 2009, p. 294, §12 Comprehensive Testing - Detour: Struts and Spring in a nutshell.
  10. ^Newton 2009, pp. 57–81, §4 Results and Result Types - Dojo tags.
  11. ^Newton 2009, pp. 249–255, §12 Themes and Templates - The REST plug-in.
  12. ^Newton 2009, p. 294, §13 Comprehensive Testing - Detour: Struts and Spring in a nutshell.

References

[edit]
  • Newton, Dave (2009).Apache Struts 2 Web Application Development. Packt Publishing.ISBN 978-1-84719-339-1.

External links

[edit]
.NET
C++
ColdFusion
Common Lisp
Haskell
Java
JavaScript
Perl
PHP
Python
Ruby
Rust
Scala
Smalltalk
Other languages
Top-level
projects
Commons
Incubator
Other projects
Attic
Licenses
Platforms
Technologies
Oracle
Platform
Major
third-party
History
JVM
languages
Community
Conferences
Organizations
People
Retrieved from "https://en.wikipedia.org/w/index.php?title=Apache_Struts&oldid=1305947003"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp