Does it mean learning jsf is better than jsp in the long run?
Please post your insights.. specially those who used best of JSP and JSF.
Frameworks allow you to get your work done quicker. Frameworks take care of mundane details that you would have to create from scratch if using straight JSP/Servlets.
I doubt JSP/Servlet development will ever disappear. I feel that in order to use any J2EE based framework, you need to know how the underlying system is working. You need to know how JSP's and Servlets work without the framework.
Navigation is a key feature of both Struts and JSF. Both frameworks have a declarative navigation model and define navigation rules inside their XML configuration file. There are 2 types of navigation: static navigation - when one page flows directly to the next; and dynamic navigation - when some action or logic determines which page to go to.
JSF Static Navigation
JSF supports navigation by defining navigation rules in the faces configuration file. The example below shows a navigation rule defining how one page goes to the next.
JSF Dynamic Navigation
JSF also supports dynamic navigation by allowing components go to an action handler.
JSF was built with a component model in mind to allow tool developers to support RAD development.
Originally posted by Kevin Arouza:
I have not messed around with JSF yet, but from what I've read so far JSF and Struts are pretty much the same idea... a MVC (Model 2) architecture. Now, JSF is supposed to provide a "rich component set". What does that mean? How do these components work within the browser, do they run in an applet container?
Struts can not be placed on the same pedestrial as JSF. JSF is a componenet based framework which is built on top of the raw Http protocol, just like Tapestry. Though, still at its infancy, if comparisons of frameworks are to be made then JSF should be compared to frameworks such as Tapestry. On the other hand I do not see JSP going away, as a good grasp of Servlet/JSP would be necessary for effective use of these java based web frameworks.