Posts Tagged ‘Struts2’

F.A.Q. about Struts2

July 22, 2013 1 comment

Why is the project called “Struts”?

It’s a reference to “struts” in the architectural sense, a reminder of the nearly invisible pieces that hold up buildings, houses, and bridges.

Can Apache Struts be used in a commercial product?

Yes. The only requirements you must meet are those listed in the Apache License.

Is Struts 2 stable?

Struts 2 is stable, featureful, and ready for primetime. It’s the direct descendant of WebWork 2, and we have dubbed the 2.0.x series the “compatiblity release”. The bits themselves are ready-to-go. We’re just finishing-up on peripheral concerns that don’t affect the code itself, and new, optional features that don’t affect the existing feature set.

In Struts 2.0.x, we won’t be straying far from the path WebWork 2 has already blazed. WW2 powers some of the greatest web applications on the planet, including Confluence and Jive Forums. There’s no arguing with success!

Is Struts 1 obsolete?


There is a robust and vibrant community of developers using Struts 1 in production, and we expect that thousands of teams will continue to base new projects on Struts 1, and continue to support existing projects, for many, many years to come.

Since the merger, Struts 1 has gone on to release a new minor version, Struts 1.3, and new 1.x releases are being planned. Struts 1 continues to be the most popular and best supported web application framework for Java.

Of course, if you are starting a new project, and have your choice of frameworks, this might be a good time to consider whether you would like to continue to use Struts 1 or whether it’s time to try Struts 2.

Where can I get help with Apache Struts?

Each release of Struts comes with a User Guide or set of Tutorials to introduce people to the framework and its underlying technologies. Various components also have their own in-depth Developers Guide, to cover more advanced topics. Comprehensive Javadocs are provided for each release, along with the full source code.

Is there a particularly good IDE to use?

The frameworks should work well with any development environment that you would like to use, as well as with any programmers editor. The members of the Apache Struts development group each use their own tools such as Emacs, IDEA, Eclipse, and NetBeans.

Is commercial support available?

The Apache Software Foundation does not provide commercial support for any of our software products, including Apache Struts. However, third parties may offer different degrees of support.

How is Apache Struts licensed?

All Apache Struts products are copyrighted software available under the Apache License, a “free-to-use, business-friendly license”.

Tags: ,


August 8, 2011 2 comments

What is Framework ?

Framework is set of reusable software program that forms the basis for an application. Frameworks helps the programmers to build the application quickly. Earlier it was very hard to develop complex web applications. Now its very easy to develop such application using different kinds of frameworks such as Struts, Struts 2, Hibernate,  JSF, Tapestry, JUnit, Log4j, Spring etc.

In Java technology there are so many frameworks that helps the programmers to build complex applications easily. You can choose these frameworks for building your applications.

Software Framework

Framework software in computer system is a layered structure that indicates what kind of program should be built and how they would interrelate to one another. In computer system, a framework is a conceptual structure that sometime includes actual programs, which specify programming interface or offer programming tools for using the frameworks.

A framework may be for a set of functions within a system, the layers of an operating system, the layers of an application subsystem that specify how to correlate at some level of network and so on. In general term, we can say that a framework is more comprehensive than a protocol and more prescriptive than a structure.

Like software libraries, frameworks are reusable abstractions of code within a well-defined API, but distinctive feature separate them from libraries or normal user applications:

Inversion of control – The framework completely controls the flow of the programs while in libraries, the caller or user controls the flow the programs not the libraries.

Default behavior – A framework has a default behavior. This default behavior must actually be some useful behavior and not a series of no-ops.

Extensibility – Through selective overriding or specialized user code, a framework can be extended to achieve specific function.

Non-modifiable framework code – The framework code is rigid and modification is not allowed in it. It can be extended but not modified.


The biggest advantage of the software framework is that it reduces the time and energy in developing any software. Frameworks provides a standard working system through which user can develop the desired module of application or complete application instead of developing lower level details. Using frameworks, the developers can devote more time in developing the software requirement, not in preparing the environment and tools of application development.

For the novice user, it is tougher to use the framework quickly as it is big and complex abstract and user has to spend more time in assessing the concept, function and its uses in developing the program, which enhances the development but after learning how to use it efficiently, it becomes easier and quicker to develop any program, module of application.

Another disadvantage is that a generic ‘one-size-fits-all’ does not work so efficiently for any specific software. There is need to extend framework with specific code to develop any specific software.

Ref : roseindinet

Introduction to Struts2

July 25, 2011 1 comment

Struts 2 and WebWork merger Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. The framework is designed to streamline the full development cycle, from building, to deploying, to maintaining applications over time.

Apache Struts 2 was originally known as WebWork 2. After working independently for several years, the WebWork and Struts communities joined forces to create Struts2. This new version of Struts is simpler to use and closer to how Struts was always meant to be.

Key features of the framework include:


  •   Pluggable framework architecture that allows request lifecycles to be customized for each action.
  •   Flexible Validation framework that allows validation rules to be decoupled from action code.
  •   Hierarchical approach to internationalization that simplifies localizing applications.
  •   Automatic Type Conversion that transparently maps values from HTTP to native Java data objects, solving one of the most tedious efforts when creating web applications.
  •   Integrated Dependency Injection engine that manages component lifecycle and dependencies. (By default, the framework utilizes Spring for dependency injection.)
  •   Modular Configuration Files that use packages and namespaces to simplify managing large projects with hundreds of actions. * Java 5 annotations that reduce configuration overhead. (Java 1.4 is the minimum platform.)


  •   Reusable user interface tags that allow for easy component-oriented development using Themes and Templates. Bundled tags ranges from simple text fields to advanced tags like  date pickers and tree views.
  •  JSTL-compatible expression language (OGNL) that exposes properties on multiple objects as if they were a single JavaBean.
  •  Pluggable Result Types that support multiple view technologies, including JSP, FreeMarker, Velocity, PDF, and JasperReports. * Optional ajax theme that simplifes creating interactive web applications.
  •   Optional Interceptor plugins that can execute long-running queries in the background, prevent multiple form submissions, or handle custom security schemes.


  •   Easy integration with other popular products, including Hibernate, Spring, SiteMesh, and JSTL.
  •   Distributed under the business-friendly Apache License 2.0.

read more :