Apache Struts is an open-source web
application framework for developing Java EEweb applications. It uses
and extends the Java Servlet API to encourage developers to
adopt a model–view–controller (MVC) architecture. It was originally
created byCraig McClanahan and donated to the Apache
Foundation in May, 2000. Formerly located under the Apache Jakarta
Project and known as Jakarta Struts, it became a top-level Apache project in 2005.
In a standard Java EE web application, the client
will typically call to the server via a web
form. The information is then either handed over to a Java Servlet which interacts with a
database and produces an HTML-formatted response, or
it is given to a JavaServer Pages(JSP) document that intermingles HTML and
Java code to achieve the same result. Both approaches are often considered
inadequate for large projects because they mix application logic with
presentation and make maintenance difficult.
The goal of Struts is to separate the model (application logic that interacts with a database) from the view (HTML pages presented to the client) and the controller (instance that passes
information between view and model). Struts provides the controller (a servlet
known as ActionServlet ) and facilitates the writing of templates for the view or
presentation layer (typically in JSP, but XML/XSLT and Velocity are also supported). The
web application programmer is responsible for writing the model code, and for
creating a central configuration file struts-config.xml that binds together model,
view and controller.
Requests from the client are sent to the controller in the
form of "Actions" defined in the configuration file; if the
controller receives such a request it calls the corresponding Action class that
interacts with the application-specific model code. The model code returns an
"ActionForward", a string telling the controller what output page to
send to the client. Information is passed between model and view in the form of
special JavaBeans. A powerful custom tag library allows it to read
and write the content of these beans from the presentation layer without the
need for any embedded Java code.
Struts is categorized as a request-based web application
framework.
Struts also supports internationalization by web forms, and includes a template mechanism called
"Tiles" that (for instance) allows the presentation layer to be
composed from independent header, footer, and content components.
Although Struts is a well-documented, mature,
and popular framework for building front ends to Java applications, there are
other frameworks categorized as "lightweight" MVC frameworks such as Spring MVC, Stripes, Wicket, Play!, and Tapestry. The new XFormsstandards and frameworks may also be another option to
building complex web Form validations with Struts in the future.
The Web Work framework spun off from Apache Struts aiming to offer enhancements
and refinements while retaining the same general architecture of the original
Struts framework. However, it was announced in December 2005 that Struts would
re-merge with Web Work. Web Work 2.2 has been adopted as Apache Struts2,
which reached its first full release in February 2007.
In 2004, Sun launched an addition to the Java platform,
called JavaServer Faces (JSF). Aside from the
original Struts framework, the Apache project previously offered a JSF-based
framework called Shale, which was retired in May 2009.[2]
Other MVC frameworks that are Java based include WebObjects and Grails.
Best Study Materials JAVA,
Java Tutorials PDF,
Java SCJP Questions,
Java Material Free Download,
Gate Study Material Free,
Java Tutorial Download,
SCJP Materials
Core Java Programming Question
SCJP Certification
Regards,
Er Ratnesh Porwal
Software Engineer
www.AeroSoftCorp.com
www.AeroSoft.in
www.AeroSoft.co.in
www.AeroSoftseo.com
On Line Assistence :
Gtalk : ratnesh.aerosoft@gmail.com
Y! Messenger : ratnesh.AeroSoft@yahoo.com
Rediff Bol ratnesh.AeroSoft@rediffmail. com
Er Ratnesh Porwal
Software Engineer
www.AeroSoftCorp.com
www.AeroSoft.in
www.AeroSoft.co.in
www.AeroSoftseo.com
On Line Assistence :
Gtalk : ratnesh.aerosoft@gmail.com
Y! Messenger : ratnesh.AeroSoft@yahoo.com
Rediff Bol ratnesh.AeroSoft@rediffmail.
No comments:
Post a Comment