Update- 2019-01-11 Project is Mavenized and updated to: Java 11, Apache Maven 3.6.0, Apache Tomcat 9.0.14, Eclipse IDE 2018-12. Beside mavenization, project is also modularized (please check section: Appendix).Are you interested in Java web developement?Tired of JSP?Why not use JSF? Didyou know thatas Oracle states: “JSP technology is considered to be a deprecated presentation technology for JavaServer Faces”?What is JSF?“JSF is a component based MVC framework which is built on top of the Servlet API and provides components via taglibs which can be used in JSP or any other Java based view technology such as Facelets. Facelets is much more suited to JSF than JSP. It namely provides great templating capabilities such as composite components, while JSP basically only offers the for templating, so that you’re forced to create custom components with raw Java code (which is a bit opaque and a lot of tedious work in JSF) when you want to replace a repeated group of components with a single component. Since JSF 2.0, JSP has been deprecated as view technology in favor of Facelets. As being a MVC (Model-View-Controller) framework, JSF provides the FacesServlet as the sole request-response Controller. It takes all the standard and tedious HTTP request/response work from your hands, such as gathering user input, validating/converting them, putting them in model objects, invoking actions and rendering the response. This way you end up with basically a JSP or Facelets (XHTML) page for View and a JavaBean class as Model. The JSF components are used to bind the view with the modeland the FacesServlet uses the JSF component tree to do all the work.“JavaServer Facestechnology simplifies building user interfaces for JavaServer application"JavaServer Faces (JSF) is a Java specification for building component-based user interfaces for web applicationsand was formalized as a standard through the Java Community Process being part of the Java Platform, Enterprise Edition. It is also a MVC web framework that simplifies construction of user interfaces (UI) for server-based applications by using reusable UI components in a page.“Java Server Faces (JSF) is a Java-based web application framework intended to simplify development integration of web-based user interfaces. JavaServer Faces is a standardized display technology, which was formalized in a specification through the Java Community Process.“It simplifies development by providing a component-centric approach to developing Java Web user interfaces. JavaServer Faces also appeals to a diverse audience of Java/Web developers. “Corporate developers” and Web designers will find that JSF development can be as simple as dragging and dropping user interface (UI) components onto a page, while “systems developers” will find that the rich and robust JSF API offers them unsurpassed power and programming flexibility. JSF also ensures that applications are well designed with greater maintainability by integrating the well established Model-View-Controller (MVC) design pattern into it’s architecture. Finally, since JSF is a Java standard developed through Java Community Process (JCP), development tools vendors are fully empowered to provide easy to use, visual, and productive develop environments for JavaServer Faces.“If all this sounds interesting to you, and you want to learn about Java web developement, then this is course for you! Technologies used in this course:- Java/JavaServer Faces (JSF)/PrimeFaces/Xampp/MySQL/Apache Tomcat/JSTL/XML/HTML/Javascript/JQuery/CSSWhat is covered in course:- Making of Content management system (CMS) web application project, step by step, from scratch to finish- writing of Java classes, XML, HTML and JSF templates, JSTL, Javascript files; binding Java Beans to JSF components, manipulating with URL and HTMLdata- Writing files from blank step by step, explanations of all code files- Creating database with all tables- Defining server paths and properties- Use of Eclipse IDE for writing project code, building and running application- solving errors and bugsWhat will CMS web app consist of:- JSF project without tables - tableless html design (div and span tags used, except of item listings pages)- Responsive html design- Multi-language CMS- Image and file multi-uploaders- Rich text editors- Login screen- Menu with categories and subcategories- Web pages including header, menu, forms for entering and editing data, footer- Web pages including header, menu, listings of entered data, footer- Configuration file for both local and live settingsWhat will CMS web app be capable of:- View-ing and manipulating data- CRUD (create, read, update and delete) data (via database)- Login (authentication), session while logged in; logout- Upload of data (images and files)- Logging developer data- Using tabbed view of rich text editors for defined languages- Storing image thumbnails of easily redefined dimensions- Upload of defined extension typesWhat special features will be covered from Java and JSF:- MVC controller- Working with managed beans- JSF Vie