HOME

TheInfoList



OR:

Apache Struts 2 is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
web application framework A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and ...
for developing
Java EE Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web serv ...
web application A web application (or web app) is application software that is created with web technologies and runs via a web browser. Web applications emerged during the late 1990s and allowed for the server to dynamically build a response to the request, ...
s. It uses and extends the
Java Servlet A Jakarta Servlet, formerly Java Servlet is a Java (programming language), Java software component that extends the capabilities of a server (computing), server. Although servlets can respond to many types of requests, they most commonly impl ...
API An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
to encourage developers to adopt a
model–view–controller Model–view–controller (MVC) is a software architectural pattern commonly used for developing user interfaces that divides the related program logic into three interconnected elements. These elements are: * the model, the internal representat ...
(MVC) architecture. The WebWork framework spun off from
Apache Struts 1 Apache Struts 1 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. It was originally crea ...
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. Struts 2 has a history of critical security bugs, many tied to its use of OGNL technology; some vulnerabilities can lead to
arbitrary code execution In computer security, arbitrary code execution (ACE) is an attacker's ability to run any commands or code of the attacker's choice on a target machine or in a target process. An arbitrary code execution vulnerability is a security flaw in softwa ...
. In October 2017, it was reported that failure by
Equifax Equifax Inc. is an American multinational consumer credit reporting agency headquartered in Atlanta, Atlanta, Georgia and is one of the three largest consumer credit reporting agency, consumer credit reporting agencies, along with Experian and T ...
to address a Struts 2 vulnerability advised in March 2017 was later exploited in the
data breach A data breach, also known as data leakage, is "the unauthorized exposure, disclosure, or loss of personal information". Attackers have a variety of motives, from financial gain to political activism, political repression, and espionage. There ...
that was disclosed by Equifax in September 2017.


Features

* Simple POJO-based actions * Simplified testability * Thread safe *
AJAX Ajax may refer to: Greek mythology and tragedy * Ajax the Great, a Greek mythological hero, son of King Telamon and Periboea * Ajax the Lesser, a Greek mythological hero, son of Oileus, the king of Locris * Ajax (play), ''Ajax'' (play), by the an ...
support ** jQuery plugin **
Dojo Toolkit Dojo Toolkit (stylized as dōjō toolkit) is an open-source modular JavaScript library (or more specifically JavaScript toolkit) designed to ease the rapid development of cross-platform, JavaScript/ Ajax-based applications and web sites. It was ...
plugin (deprecated) ** Ajax client-side validation * Template support * Support for different result types * Easy to extend with plugins **
REST REST (Representational State Transfer) is a software architectural style that was created to describe the design and guide the development of the architecture for the World Wide Web. REST defines a set of constraints for how the architecture of ...
plugin (REST-based actions, extension-less URLs) ** Convention plugin (action configuration via Conventions and Annotations) ** Spring plugin (
dependency injection In software engineering, dependency injection is a programming technique in which an object or function receives other objects or functions that it requires, as opposed to creating them internally. Dependency injection aims to separate the con ...
) **
Hibernate Hibernation is a state of minimal activity and metabolic reduction entered by some animal species. Hibernation is a seasonal heterothermy characterized by low body-temperature, slow breathing and heart-rate, and low metabolic rate. It is most ...
plugin ** Support in design ** JFreechart plugin (charts) ** jQuery plugin (Ajax support, UI widgets, dynamic table, charts) ** Rome plugin


See also

*
List of application servers This list compares the features and functionality of application servers, grouped by the hosting environment that is offered by that particular application server. C * Enduro/X A middleware platform for distributed transaction processing, base ...
*
Comparison of web frameworks Two comparisons of web frameworks are available: * Comparison of JavaScript-based web frameworks This is a comparison of web frameworks for front-end web development that are reliant on JavaScript code for their behavior. General in ...


Citations


References

*


External links

* {{Java (Sun) Struts 2 Cross-platform free software Free software programmed in Java (programming language) Java enterprise platform Web frameworks Software using the Apache license 2006 software