title: Java EE 6: JSF vs Servlet + JSP. Should I bother learning JSF?
body: <p>I am trying to get familiar with Java EE 6 by reading <a href="http://java.sun.com/javaee/6/docs/tutorial/doc/gexaf.html" rel="noreferrer">http://java.sun.com/javaee/6/docs/tutorial/doc/gexaf.html</a>. I am a bit confused about the use of JSF.<br>
  Usually, the way I develop my Web App would be, Servlet would act like a controller and JSP would act like a View in an MVC model. So Does JSF try to replace this structure? Below are the quote from the above tutorial:  </p>
  
  <blockquote>
    <p>Servlet are best suited for service-oriented App and control function of presentation-oriented App like dispatching request<br>
    JSF and Facelet are more appropriated for generating mark-up like XHTML, and generally used for presentation-oriented App </p>
  </blockquote>
  
  <p>Not sure if I understand the above quote too well, they did not explain too well what is service-oriented vs presentation-oriented.</p>
  
  <blockquote>
    <p>A JavaServer Faces application can map HTTP requests to component-specific event handling and manage components as stateful objects on the server.</p>
  </blockquote>
  
  <p>Any knowledgeable Java developer out there can give me a quick overview about JSF, JSP and Servlet? Do I integrate them all, or do I use them separated base on the App? if so then what kind of app use JSF in contrast with Servlet and JSP</p>
  
  <blockquote>
    <p>A JavaServer Faces application can map HTTP requests to component-specific event handling and manage components as stateful objects on the server.</p>
  </blockquote>
  
  <p>Sound like what servlet can do, but not sure about <code>manage components as stateful objects on the server</code>. Not even sure what that mean? Thanks in advance.</p>