A brief history of Java web development
Before we dive into the details of the Facelets framework, let's review a brief history of web development on the Java platform to understand how Facelets fits into this broader context.
Before Model-View-Controller (MVC) web frameworks and templating systems such as Struts, Tiles, Tapestry, JSF, and Facelets, building web applications on the Java platform involved writing Java Servlets and JavaServer Pages (JSPs).
JSP technology was introduced in 1999 as a competitor to Microsoft's Active Server Pages (ASP) and PHP. JSP made it easier for Java developers to separate programming logic from web page markup, and introduced the concept of custom tag libraries. Developers could now write custom tag classes that could encapsulate presentation logic, register them in a Tag Library Descriptor (TLD) file, and use them declaratively in a JSP page simply by adding an import directive at the top of the page.
The Struts framework was originally launched in 2000...