Apache Struts

From Wikipedia, the free encyclopedia

Template:Short description Script error: No such module "For".

Page Module:Infobox/styles.css has no content.

Apache Struts 2
[[Programmer|DeveloperTemplate:Pluralize from text]]Apache Software Foundation
Initial releaseOctober 10, 2006; 19 years ago (2006-10-10)
Template:Infobox software/simple
Written inJava
Operating systemCross-platform
PlatformCross-platform (JVM)
PredecessorApache Struts 1
TypeWeb framework
LicenseApache License 2.0
WebsiteLua error in package.lua at line 80: module 'Module:If preview' not found.

Script error: No such module "Check for conflicting parameters".

Apache Struts 2 is an open-source web application framework for developing Java EE web applications. It uses and extends the Java Servlet API to encourage developers to adopt a model–view–controller (MVC) architecture. The WebWork framework spun off from Apache 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 of OGNL technology;[4] some vulnerabilities can lead to arbitrary code execution. In October 2017, it was reported that failure by Equifax to address a Struts 2 vulnerability advised in March 2017 was later exploited in the data breach that was disclosed by Equifax in September 2017.[5][6]

Features

  • Simple POJO-based actionsLua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
  • Simplified testability
  • Thread safe
  • AJAX support
    • jQuery plugin
    • Dojo Toolkit pluginLua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. (deprecated)
    • Ajax client-side validation
  • Template supportLua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
  • Support for different result typesLua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
  • Easy to extend with plugins
    • REST pluginLua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. (REST-based actions, extension-less URLs)
    • Convention plugin (action configuration via Conventions and Annotations)
    • Spring pluginLua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. (dependency injection)
    • Hibernate plugin
    • Support in design
    • JFreechart plugin (charts)
    • jQuery plugin (Ajax support, UI widgets, dynamic table, charts)
    • Rome plugin

See also

Lua error in mw.title.lua at line 404: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

Citations

Page Template:Reflist/styles.css has no content.

  1. ^ Page Module:Citation/CS1/styles.css has no content."Struts 7.0.3". GitHub. Retrieved 16 March 2025.
  2. ^ About Apache Struts 2 Script error: No such module "webarchive".
  3. ^ Page Module:Citation/CS1/styles.css has no content."Apache Struts : List of security vulnerabilities". cvedetails.com. Retrieved October 2, 2017.
  4. ^ Page Module:Citation/CS1/styles.css has no content.Munoz, Alvaro (January 14, 2014). "Struts 2: OGNL Expression Injections". HPE.com. Archived from the original on October 3, 2017. Retrieved October 2, 2017.
  5. ^ Page Module:Citation/CS1/styles.css has no content.Chirgwin, Richard (October 2, 2017). "Equifax couldn't find or patch vulnerable Struts implementations". The Register. Retrieved October 2, 2017.
  6. ^ Page Module:Citation/CS1/styles.css has no content.Goodin, Dan (October 2, 2017). "A series of delays and major errors led to massive Equifax breach". Ars Technica. Retrieved October 2, 2017.

References

  • No URL found. Please specify a URL here or add one to Wikidata.

Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found. Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found. Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found.