What are the features and functionality of Apache Struts?

1

I do not know what the structure and functioning of this framework is, but from what I've read about it, it's been used a lot in Web development.

What are the features and functionality of Apache Struts ?

    
asked by anonymous 06.06.2015 / 20:14

1 answer

2

Denis,

Apache Struts, both 1 and 2, is a very popular framework in the industry. Mainly as a Solution for systems that benefit from the MVC architecture. No doubt you will find many designs using it.

In my experience I have seen many applications being migrated to Spring MVC. So I can tell you that there are not many new projects being built on Struts, at least not in the media where I am. I have also worked with Struts 1, and I can say that it is inferior to Spring MVC 3.0, since the latter offers more features and better separation of concerns and a better decoupling, because in Struts one is necessary to inherit classes, such as ActionForms

The main advantages I noticed when working with it were:

  • A rich taglib for creating .JSPs . There were lots of self-explanatory tags that I could easily use for at least at that time generate dynamic HTML content
  • Rendering POJOs , mapping them directly to properties described in JSPs tags, the problem is that I had to write Adapters classes because it only rendered FormBeans (classes inherited from Struts components).
  • Removed from direct programming with Servlets (Servlet API) because it already abstracts this layer.
  • Allows me to associate pages with URLs, and those URLs with Actions, which plays the Controller in Struts (the C strong> MVC )
  

What are the features and functionality of Apache Struts?

Core Features

  • Architecture of the pluggable structure that allows life cycles can be customized for each Action.
  • Flexible validation framework that allows validation rules can be decoupled from the Action code.
  • Hierarchical approach to internationalization that simplifies app location.
  • Automatic type conversion that transparently maps HTTP values for native Java data objects, solving one of the efforts to create web applications.
  • Integrated dependency injection engine that manages the life and component dependencies.
  • Modular configuration files that use packages and namespaces to simplify the management of large projects with hundreds of Actions.
  • Available Java 5 annotations (declarative programming)

Here is a comparison between version 1 and 2:

link

    
06.06.2015 / 22:01