Thanks rajan for your reply.But my question is slightly different.When will someone choose JSF over JSP/Servlets.
This is my thoughts.I want people to debate this point so that i can be sure about my decision.
1) If the application designed is going to be an ajax.Then we can use the partial submit use of ajax.
To decide if the application needs ajax or not the application needs have a dynamic UI where in one
page you can show mutiple things or mutiple edits in same page.
2) If the UI has too many reusable component then we can go for composite components.
3) Better separation of work between UI and
java developers
These are the two things i can think of.I have just studied JSF and do not realtime expereince in JSF.So I want to know if there are more
advantage of using JSF than just this.
In MVC using Servlets/JSP these are the advantage
1) It's a tried and tested technology.There are more developers who have worked on this.
2) And lots of appserver implementing
Servlets and jsp have improved their implementation over years.In case of JSF it's
an emerging technology and it depends on the implemetation like facelets and icefaces.Iam not sure if their implementation
is very stable.
3) Performance wise it wouild be good becuase there is not a overhead of any framework.Most of the framework like
struts and Springs MVC is built of top of this framework.
Disadvantage of JSF.
1) No sure how efficiently the session handling coiuld be handled in JSF.
2) Lots of Javascripts are generated by JSF implemetations for field validation etc.Not sure how well these javascript will work across browsers.Also not sure how efficient will
these javascript be for complex validation.Again a lot would depend on the implementation
Disadvantage in Sevlets/jsp
1) The separation of work separation of work between UI and java developers
2) Code has to be exclusively be written for validaions(both business and UI validations conversions.It could add more to developemnt and
testing efforts.
3) A lot would depend on the way it's implemented.Say a client side validation would be efficient with a good clientside java script code.But just choosing this Servlet/JSP does't
guarantee performance.
A better way i think couild be to use either a Struts or a Spring MVC.But can i do it for the assignent and give then the reason behind it.