File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Struts and the fly likes Comparing Frameworks (Struts, Spring, Velocity, JSF, JSTL) Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "Comparing Frameworks (Struts, Spring, Velocity, JSF, JSTL)" Watch "Comparing Frameworks (Struts, Spring, Velocity, JSF, JSTL)" New topic
Author

Comparing Frameworks (Struts, Spring, Velocity, JSF, JSTL)

Bob Robertson
Greenhorn

Joined: May 16, 2004
Posts: 17
All,

I am putting together an overview of these frameworks to present to my group so that we migrate legacy web apps to more current frameworks (things are getting out of hand).

The areas I am looking at are as follows:

1.How does it support MVC?
2.Performance
3.Ease of use/development
4.Scalability
5.Java versions supported
6.Built in data validation

One thing about this group of frameworks is this issue of them working together. I am not sure which ones can be combined and would appreciate the info, but I'm more interested in additonal factors I need to consider that are not on the list.

Thanks for any insight you can provide,

br
vishwa venkat
Ranch Hand

Joined: Nov 22, 2003
Posts: 185
U r missing Transaction and Security support in the list.
Masoud Kalali
Author
Ranch Hand

Joined: Jul 08, 2004
Posts: 531

Hi
I worked with Struts and a bit velocity , and some JSF
Velocity is a template engine so its diffrent with Struts , JSF , ..
you can generate any kind of code with velocity.

Struts is very well designed and implemented .
Struts is well known MVC framework for web developing and it is very scalable
there are some tools for developing [Struts console , easy Struts ,..]
It has almost all items you mentioned.
Ease of use , you can use jdk1.4.0 with Struts 1.1
data validation is out of the box.
about performance , as much as jsp+servlet can perform well , Struts can.

JSF is almost a new technology , it has its own EL and event model
there are some tools for JSF developing [JSF console,...?] and other commerical IDEs like WSAD 5.1.2 .
its scalable but i cant tell you Struts is scale better or JSF.

I have no experience with Spring , but AFAIK its a j2ee framework not a web framework.

hope it helps.


Masoud Kalali
Software Engineer - My Weblog - GlassFish Security
Bob Robertson
Greenhorn

Joined: May 16, 2004
Posts: 17
Thank you both for you're comments. I'll incorporate the two aspect I was leaving out and look more into how each framework handles them.

At this point, I am thinking Struts is the way to go and as the need arises, evaluate whether to combine JSTL. Velocity sounds interesting and I think would force my group to adhere to better design practices than the current hacking of JSP code, but I still need more info as to the learning curve and drawbacks.

If you have any additional feedback in the areas listed, please continue to flesh out this thread as I am sure I am not the only person interested in these issues.

Also, as far as Spring goes, I am not that familiar... in fact, not familiar at all with this framework. My only comment is that after some brief research, it's my understanding that while it is a J2EE framework, you can carve out the MVC portion of it and use it stand alone for more of a servlet/jsp/bean based app. At first glance, I don't think this is for us, but I don't want to discount it without knowing more about it.

br
Sonny Gill
Ranch Hand

Joined: Feb 02, 2002
Posts: 1211

Originally posted by Bob Robertson:
All,
The areas I am looking at are as follows:

1.How does it support MVC?
2.Performance
3.Ease of use/development
4.Scalability
5.Java versions supported
6.Built in data validation

One thing about this group of frameworks is this issue of them working together. I am not sure which ones can be combined and would appreciate the info, but I'm more interested in additonal factors I need to consider that are not on the list.

Thanks for any insight you can provide,

br


Bob,

I havent used Spring yet, so this is not coming from personal experience.

But, from what I have read on it,

Spring is different from other technologies you are considering, because it is more than just a MVC framework, and provides a lot of plumbing code to make it faster for developers to build applications using various technologies like Hibernate, Struts etc, and provides services like transaction control.

1. MVC - It has its own MVC framework that you can use, and it allows easy integration with other MVC frameworks like struts.
3. Ease of use/devlopment - There is probabely a learning curve before you can start using it, but it saves a lot of time by providing the recurring code (for example properly closing database connections)

And it provides transaction support by using AOP implementations. I think it has built in transaction support if you are only using a single database. or If you are using multiple data sources, you can enable JTA based transaction support, provided that your application is running in an application server that implements that.

One good thing about Spring is that it is not invasive, that is you dont have to write your code keeping in mind that it is going to run under Spring.

I hope other people who have used Spring can shed more light on how much they benefitted from it in actual projects.

Sonny


The future is here. It's just not evenly distributed yet. - William Gibson
Consultant @ Xebia. Sonny Gill Tweets
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Comparing Frameworks (Struts, Spring, Velocity, JSF, JSTL)
 
Similar Threads
Baltimore / DC Area Study Group
Frameworks and Patterns
Other frameworks
form validation flow
NooB Project