JSF - building complete CMS with Java and JavaServer Faces
Build responsive multilanguage content management system from scratch to finish with JavaServer Faces, MySQL, Primefaces
Description
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? Did you know that as 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 <jsp:include> 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 model and the FacesServlet uses the JSF component tree to do all the work."
"JavaServer™ Faces technology simplifies building user interfaces for JavaServer application"
"JavaServer Faces (JSF) is a Java specification for building component-based user interfaces for web applications and 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/CSS
What 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 HTML
data
- 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 bugs
What 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 settings
What 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 types
What special features will be covered from Java and JSF:
- MVC controller
- Working with managed beans
- JSF View Scope
- JSF Session Scope
- Extended model to controller
- Various JSF html tags
- JSF working with ajax
- JSF iteration of data
- Defining JSTL conditions
- Primefaces for image and file uploaders
- Java implementation of rich text editor
- Quality image resizer
What You Will Learn!
- Write own content management system (CMS) on Java web technologies
- Know how to use JavaServer Faces (JSF) in action, and how to develop system in both backend and frontend part
- Use Java technology for web development - JavaServer Faces, which is technology which supersedes JavaServer Pages (JSP) and is developed through the Java Community Process
- Develop multilanguage system
- Manipulate data - create, read, update, delete (CRUD) data through database such as MySQL
- Implement PrimeFaces components for image and file uploaders
- Develop user authentication functionality
- Adjust server like Apache Tomcat to handle server directives and static data like images and files
- Know how to develop web applications with JSF's templating system
- Write JSF components without <table>, <tr> and <td> html tags (tableless html design)
- Implement rich text editor (CKEditor for Java), also with tabs on textarea elements
- Use managed beans and bean scopes
- Bind Java beans to JSF components, manipulating with URL paths and params and HTML
- Create image thumbnails of easily redefined dimensions
- Use JSTL conditions in action
- Use JQuery and JavaScript alongside JavaServer Faces and PrimeFaces
- Write custom data to log files through own custom logging class
- Develop system based on MVC pattern
- Create custom JDBC database manager
- Update project to newer version of JDK, Apache Maven, Apache Tomcat and Eclipse IDE
- Write pom xml file and use Maven
- Mavenize Java project
- Use Java 11 in JSF applications
Who Should Attend!
- Target students are intermediate programmers/developers who want to get more of JavaServer Faces and Java web development; but also course is made in a way easy to follow so even beginners with basic understanding of programming should finish this course if they follow the instructions.