JSF vs. JSP
JavaServer Faces (also known as JSF) is a web application framework that is based in Java. Its main objective is to simplify development integration of user interfaces that are web based. It is a request driven Model View Controller (or JVM). This specific JVM is based on component driven UI design model, which uses XML –view templates or Facelet views. Requests ran through the JSF are processed by the FacesServlet. This component loads the view template that is required, builds a component tree, processes events, and renders the response –which is usually in HTML.
JavaServer Pages (also known as JSP) is a Java based technology specifically used to help software developers serve dynamically generated web pages (such as HTML and XML) as well as other document types pertinent to the development of interactive web content. It was specifically created in order to answer the scepticism that most web developers had concerning the Java platform’s ability to give developers enough support for the web.
The core features of the JSF include, but are not limited to, Managed Beans, which is a dependency injection system; a template based component system, used for quick component composition; and two XML based tag libraries, which are used to express a JSF interface within a view template.
For all intents and purpose, JSP is a sophisticated Java servlet. JSPs are loaded into the server and from the Java EE Web application, operated and packaged as .war or .ear file archives. It allows Java code and specific predefined actions to communicate with static web markup content. The page that results from this interaction is compiled and executed on this specific server and is viewed as an HTML or XML document. It is comprised of two very specific syntax styles: scriptlet and markup –a scriptlet simply being blocks of Java code that are mixed with markup, which is the standard HTML or XML. JSP pages are required to be compiled to Java bytecode classes in order to be able to be executed. However, this compilation only really occurs one time –each time a change takes place to the source JSP file. This is because Java is a compiled language and not a scripting language –meaning the code must, essentially, be translated to make the JSP compatible with the server.
1. JSF is a web application that is used to simplify development integration of web based user interfaces; JSP is a Java based technology used specifically in order to help software developers create dynamic web pages.
2. JSF contains multiple core features, including, but not limited to, Managed Beans, a template based component system, and two XML based tag libraries; JSP must be compiled in Java bytecode in order to function properly.