Repository: struts
Updated Branches:
  refs/heads/master b6afefeea -> 31d1b40d7


Create README.md

Used same information from http://struts.apache.org/birdseye.html

Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/d163b112
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/d163b112
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/d163b112

Branch: refs/heads/master
Commit: d163b112eeb34b9d2ed891427ab8b595851195ed
Parents: 779b2bd
Author: bitcod3r <bitco...@gmail.com>
Authored: Wed May 27 13:47:49 2015 -0500
Committer: bitcod3r <bitco...@gmail.com>
Committed: Wed May 27 13:47:49 2015 -0500

----------------------------------------------------------------------
 README.md | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/d163b112/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..b5e6fd7
--- /dev/null
+++ b/README.md
@@ -0,0 +1,35 @@
+The Apache Struts web framework
+-------------------------------
+The Apache Struts web framework is a free open-source solution for creating 
Java web applications.
+
+Web applications differ from conventional websites in that web applications 
can create a dynamic response. Many websites deliver only static pages. A web 
application can interact with databases and business logic engines to customize 
a response.
+
+Web applications based on JavaServer Pages sometimes commingle database code, 
page design code, and control flow code. In practice, we find that unless these 
concerns are separated, larger applications become difficult to maintain.
+
+One way to separate concerns in a software application is to use a 
Model-View-Controller (MVC) architecture. The Model represents the business or 
database code, the View represents the page design code, and the Controller 
represents the navigational code. The Struts framework is designed to help 
developers create web applications that utilize a MVC architecture.
+
+The framework provides three key components:
+
+A “request” handler provided by the application developer that is mapped 
to a standard URI. A “response” handler that transfers control to another 
resource which completes the response. A tag library that helps developers 
create interactive form-based applications with server pages. The framework’s 
architecture and tags are buzzword compliant. Struts works well with 
conventional REST applications and with technologies like SOAP and AJAX.
+
+The Apache Struts Project
+-------------------------
+
+The Apache Struts Project is the open source community that creates and 
maintains the Apache Struts framework. The project consists of a diverse group 
of volunteers who share common values regarding collaborative, community-based 
open source development. The Apache Struts Project is proud to share these 
values with our parent organization: The Apache Software Foundation.
+
+The project is called “Struts” because the framework is meant to furnish 
the “invisible underpinnings” that support professional application 
development. Struts provides the glue that joins the various elements of the 
standard Java platform into a coherent whole. Our goal is to leverage existing 
standards by producing the missing pieces we need to create enterprise-grade 
applications that are easy to maintain over time.
+
+The Apache Struts Project offered two major versions of the Struts framework. 
Currently we are only maintaining the Struts 2 version. It is recommended to 
upgrade all Struts 1.x application to Struts 2. Please do not start new 
application development using Struts 1.x, as we are no longer issuing security 
patches.
+
+Struts 2 was originally known as WebWork 2. After working independently for 
several years, the WebWork and Struts communities joined forces to create 
Struts 2. The 2.x framework is the best choice for teams who value elegant 
solutions to difficult problems.
+
+Why should you use Apache Struts?
+---------------------------------
+
+Apache Struts is a modern, maintained and full-featured web framework. It has 
been there for years and give the huge user base it is unlikely it will go away 
anytime soon in the future. Not only that we have dedicated users and 
developers on the project. Apache Struts is licensed to the Apache License 2.0 
and this will not change. We maintain a clean IP and you are “safe” to use 
the project. Sometimes you are not “safe” to use a project when a company 
controls the SCM. Access to Source Code doesn’t mean it is free. With Apache 
Struts, you are not only free to “do what you want with it”, you can even 
contribute (which is not always the case). And best of it: you can become a 
part of the core team too.
+
+It is usually very easy to integrate other technologies with Apache Struts. If 
you are using an ORM like Apache Cayenne, Hibernate or JDBC you will not have 
any restrictions. Apache Struts is not even tied too much to a frontend 
technology. In old days it was JSP, then came Velocity and Freemarker. Nowadays 
you might build your web application with just static HTML and AngularJS. Or 
you want to use Sitemesh or Tiles. This all is no problem due to Struts elegant 
and easy to use extension mechanisms.
+
+Unlike other, component oriented frameworks, we do not aim to hide the 
stateless nature of the web. We think it is perfectly acceptable to build upon 
a Request/Response cycle. We also think the MVC pattern is not so bad, just 
because it is old. In fact, we believe the Apache Struts architecture is clean 
and easy to understand.
+
+Of course, if you wish to build components on the server side which render on 
the front end side, you are most likely wrong with Struts. This is a different 
approach which promises to reduce the amount of HTML/JavaScript knowledge 
needed and to create reusable components for the view layer. Projects like 
Wicket and Tapestry serve this purpose very well. As with every framework you 
need to decide if it makes sense for you to build components or if you are 
better with the Struts-approach.

Reply via email to