Advantages/Disadvantages of Struts 2 Framework

Struts 2 is a Framework which is an implementation of MVC-2 at server side. Struts 2 have many advantages over the standard servlet and JSP API alone. But struts 2 is complex so Struts2  have many disadvantages too.

 


Action Classes:-Struts 2 framework Action class implements Action interface and other interfaces are optional .Struts 2 provides a base ActionSupport class to implements Validatable ,ValidationAware ,TextProvider and Action interface. Any POJO object with a execute signature can be used as an Struts 2 Action object.

Threading Model:- Struts 2 framework instantiated Action object for each request, so there are no thread-safety issues.  

Servlet Dependency:- The Struts 2 framework servlet contexts are represented as simple Maps because it is not coupled to a container allowing Actions to be tested in isolation. Struts 2 Actions can still access the original request and response, if required. However, other architectural elements reduce or eliminate the need to access the HttpServetRequest or HttpServletResponse directly.

Testability:- Struts 2 Actions can be tested by instantiating the Action, setting properties, and invoking methods. Dependency Injection support also makes testing simpler.

Expression Language:- Struts 2 can use  "Object Graph Navigation Language" (OGNL).

Binding values into views:- Struts 2 uses a "ValueStack" concept so that the taglibs can access values without coupling your view to the object type it is rendering. 

Type Conversion:- Struts 2 uses OGNL for type conversion. The framework includes converters for basic and common object types and primitives.

Validation:- Struts 2 supports manual validation via the validate method and also contain the Sub Framework validation .

Control of Action Execution:- Struts 2 supports creating different lifecycles on a per Action basis via Interceptor Stacks. Custom stacks can be created and used with different Actions, as needed.

Disadvantages of the Struts2 framework:a) Convention problem:-The Struts2 framework more follow the convention.

b) Harder to learn:-Struts are harder to learn, benchmark and optimize.

21 comments:

Murali Rajesh said...
This comment has been removed by the author.
Murali Rajesh said...

Hibernate and spring are the frameworks of Java. A java developer should be well aware of these frameworks in order to master the technology and work efficeiently.
spring training in chennai | hibernate training in chennai
FITA Academy reviews

Unknown said...

The main thing which i like about web designing is that it needs creativity and we need to work differently acccording to our clients need this needs a creativity and innovation.
web designing course in chennai | web designing training in chennai | web designing courses in chennai

Unknown said...

Java is a programing language which needs no introduction. Java is immensly popular anguage which is used in building softwares in mobile app or desktop. Even today java is used to program tools like hadoop, owing to this java has becom imensley popular and one of the most preffered language around the world.
Java training in Chennai | Java training institute in Chennai | Java course in Chennai

Mervin Parmar said...

Hadoop is one of the best cloud based tool for analysisng the big data. With the increase in the usage of big data there is a quite a demand for hadoop professionals.
Big data training in Chennai | Hadoop training Chennai | Hadoop training in Chennai

Nandhini said...

Strut is the most popular framework which is used for developing the java based applications. Struts framework is based on the model view controller architecture.
struts training in chennai | struts training

Sankar said...

Great post.Very good explanation.

Online Java Training From India |Java Training in Chennai |Java Training Institutes in Chennai |online Java Training |Java Interview Questions |Java Course in Chennai

Devi.Angularjs said...

Struts2 Training Institutes in Chennai | struts 2 online training

Unknown said...

I have read your blog its very attractive and impressive. I like it your blog.
oracle apps training in chennai

Unknown said...

Interesting Article.
ios training in chennai

Unknown said...

Nice article hoping to read more of these from you.
sas training in chennai

Unknown said...

Interesting Article..
sas training in chennai

Unknown said...

Thanks for providing good information,Thanks for your sharing.Angularjs Online Training Bangalore

Unknown said...

Thanks for sharing the blog it is very important and interesting topic in which peoples are receiving great information and very helpful.
Angularjs Development

Anika Digital Media said...

This is one of the best posts that I've ever seen; you may include some more ideas in the same theme. I'm still waiting for some interesting thoughts from your side in your next post

seo services in UK
web design development company in UK

Sugantha Raja said...

Nice Blog, When i was read this blog i learnt new things & its truly have well stuff related to developing technology, Thank you for sharing this blog.
Microsoft Azure Training in Chennai | Azure Training in Chennai

Nisha San said...

Thanks for sharing this great article. It made me understand few things about this concept which I never knew before. Keep posting such great articles so that I gain from it. Java Training in Chennai | J2EE Training in Chennai | Advanced Java Training in Chennai | Core Java Training in Chennai | Java Training institute in Chennai

jenani said...

Wonderful article, very useful and well explanation. Your post is extremely incredible. I feel really happy to have seen your webpage and look forward to so many more entertaining times reading here. Thanks once more for all the details.
Java Training in Chennai

Java Training in Velachery

Java Training in Tambaram

Java Training in Porur

Java Training in OMR

Java Training in Annanagar

Harly said...

Thanks for sharing the great content. It will helps a lot.

Thanks

Web Development Company India

nayar said...



Awesome blog. Thanks for sharing such a worthy information....
Python Training in Bangalore
Python Classes in Pune
Python Training in Hyderabad

Reshma said...

Great post. Thanks for sharing such a useful blog.
Successful graphic designer
Graphic Designer

Post a Comment

Twitter Delicious Facebook Digg Stumbleupon Favorites More