Java Servlet, JSP and Hibernate: Build eCommerce Website
- Description
- Curriculum
- FAQ
- Reviews
This Java Servlet, JSP and Hibernate course helps you master Java programming skills you need to create professional real-world websites from begin to end – Adding an awesome experience to your résumé.
You learn how to build a sophisticated, functioning e-commerce website that sells books!
By completing this course, you will be able to confidently apply for any Java web development jobs, or doing Java freelance projects online.
This is a complete hands-on programming course in which you will see I type every single line of code. No theory.
“Covers every detail of a real world application” – said student Anastasios Lelakis
What makes this course different?
-
In this course, I use a lot of UML diagrams and pictures to help you understand how things work so you can follow along the course easily.
“I enjoy the way and approach you have used in demonstrating with diagrams, tables and step by step explanation” – said student Ioryaasa Godfrey Akpera
-
This course is built and taught by a Java expert who has been programming Java for 15 years.
-
With over 51 hours of video, you learn every step of the development process. So you can learn from zero experience.
-
You learn to build a complete e-commerce website with all functionalities.
-
You get rapid support from the instructor who will reply your questions within few hours, not days.
“The course is very well structured and the teacher Nam explains everything step by step in a clear way. Whenever you have a question, he usually replies within 1-2 days and helps you out. Very much enjoying this course and hope to use this knowledge to start building out my own webapps!” – said student Eugene
In this course, you will learn how to apply core technologies in Java EE like Servlet, JSP, JSTL and Hibernate framework to build a complete website to sell books online.
In the back-end (admin) you will develop the following features:
-
Users management (include admin login/logout)
-
Category management.
-
Book management.
-
Review management.
-
Customer management.
-
Order management.
-
Statistics (admin dashboard)
In the front-end, you will develop the following features:
-
Homepage: List newly published books; best-selling books; most-favored books
-
List books in a category
-
View book details
-
Search books
-
Shopping Cart
-
Customer Registration
-
Write reviews for books
-
Place order (Checkout)
-
PayPal Payment Integration (include credit card payment)
In addition, there are also many assignments from easy to hard to help you practice.
Why should you buy this course?
-
Acquire the skills to build e-commerce websites with Java
-
To learn fast from expert – this will save you a lot of time and avoid trials and errors
-
By completing the project in this course, you earn an awesome experience which you can proudly include in your resume – so you can get Java programming job easier.
-
If you’re a final year student, consider to make your final year project from this course.
-
Advance your Java programming skills to a new level.
“Amazing experience after this course. Thank you instructor.” – said student Dhara Patel
*** SPECIAL BONUS ***
You will get a copy of my book “How to Become a Successful Freelance Programmer” (sold on Amazon) in which you will learn the strategies to build a successful freelance career (I completed 142 projects with average rating 4.8 during 5 years – so you can too). Therefore, by taking this course and being gifted this book, you will be having much greater confident in your programming career.
Feel free to explore the full course content and watch the free previews.
Enroll this course today! I’m looking forward to see you inside.
-
4Design User Interface
Understand the requirements for user interface of the website that sells books online, via mockup design.
-
5Database Design
Understand how the database is designed via entity relationship diagram (ERD).
-
6Technical Design
Understand system architecture for the website, application architecture, Java package organization and getting familiar with class diagram, activity diagram and sequence diagram.
-
7Understand Project's Naming Conventions
Understand the name conventions used in the project: Java code, Java class name, JSP file name, and URL mapping names.
-
8Note about Software Versions
-
9Install Java Development Kit
Install Java Development Kit (JDK) and configure JAVA_HOME environment variable.
-
10Setup Eclipse IDE
Install Eclipse IDE for Java EE Developers
-
11Install Apache Tomcat server
Install Apache Tomcat web server (a Java servlet container)
-
12Install MySQL Database Server
Install MySQL Community Server and MySQL Workbench tool
-
13Create Database Using MySQL Command Line Client
Create the first table in the database using MySQL Command Line Client program.
-
14Execute Script in MySQL Workbench
Create the second table in the database by executing SQL script in MySQL Workbench program.
-
15Alter Tables in MySQL Workbench
Modify the table users using MySQL Workbench
-
16Create the rest tables using MySQL Workbench
Create the remaining tables using visual design function of MySQL Workbench
-
17Create Java Dynamic Web Project
Create Java project in Eclipse IDE.
-
18Configure Dependencies in Maven
Configure dependencies for Hibernate ORM, MySQL JDBC driver, Java Servlet API, JSP and JSTL.
-
19Create Packages and Directories
Create main Java packages and directories for web content.
-
20Add Apache Tomcat and Test the Server
Configure Apache Tomcat in Eclipse and start the server to make sure it is working.
-
21Understand JPA and Hibernate
Get started with Hibernate framework and Java Persistence API (JPA)
-
22Mapping a Model Class Manually
Code the first model class manually using JPA annotations.
-
23Create JPA Configuration File
Create the persistence.xml file and specify database connection properties and persistence unit name.
-
24Write a test program
Code the first test program to insert data into table users with Hibernate/JPA
-
25Generate Code for Model Classes
You will be able to use Hibernate Reverse Engineering tool in Eclipse to generate code for the domain model classes. This will save a lot of time.
-
31Understand Requirement and Design for User Management Module
Understand the requirement of the users management module through use case diagrams and mockup design, and understand the implementation through database design and class diagrams.
-
32Update UserDAO Class (part 1)
Update the UserDAO class for the get() and delete() method. Also write unit test methods in the UserDAOTest class.
-
33Understand JPA Query and Named Query
Understand how to execute a query with JPA and how to write a named query.
-
34Update UserDAO Class (part 2)
Update the UserDAO class for the listAll() and count() method using named query with JPA. Unit test methods also need to be written to test.
-
35Implement List Users Feature
Code the list users feature that displays all users from the database. Use JSP and JSTL for the view layer, Java Servlet for the controller layer, UserServices for the service layer and UserDAO for the data access layer.
-
36Understand Requirement and Design for Create User Feature
Understand the create user feature with mockup design, activity diagram (flowchart), and sequence diagrams. You will understand how to implement the create user feature.
-
37Code Create User Form Page
Code the JSP page that displays the form to allow the managers to create a new user. Form validation in Javascript.
-
38Code CreateUserServlet and UserServices Classes
Write code in the controller layer (Java Servlet) to handle form submission to create a new user, and code the UserServices class for business logic.
-
39Refactor UserServices Class
Refactor code in the UserServices class to remove redundant code.
-
40Implement UserDAO.findByEmail Method
Code the findByEmail() method in UserDAO class, that finds a user by email address, using named query with JPA. JUnit test methods are also created.
-
41Create Message Page
Code a JSP page to display specific messages to the end users. Test it with the create user feature.
-
42Understand Requirement and Design for Edit User Feature
Understand how to implement the edit user feature with mockup design, activity diagram (flowchart) and sequence diagram.
-
43Code EditUserServlet and Edit User Form
Code a Java Servlet to display the edit user form, using JSP and HTML to display the form.
-
44Code UpdateUserServlet and UserServices
Code a Java servlet class to handle the request update the user's details and update the UserServices class to implement the business logic, including the call the data access layer to persist the user's details into database.
-
45Update Edit User Feature
-
46Implement Delete User Feature
Understand how to implement the delete user feature with mockup design, activity diagram (flowchart) and sequence diagram. Write code for a Java servlet class to handle request to delete a user and update the UserServices class accordingly.
-
47Update Delete User Feature
-
48Prevent the default admin user from being deleted
-
49Understand Requirement and Design for Category Module
Understand what needs to do for the category management via use case diagrams and mockup screens, and understand how to implement the features via database design, activity diagram (flowchart), and class diagram.
-
50Code CategoryDAO Class and Unit Tests
Code the basic CRUD methods for the CategoryDAO class, and test them with unit test methods.
-
51Implement List Category Feature
Understand the requirement and design of the list category feature. Code a Java servlet to handle request to list categories. Code the CategoryServices class to do the business logic, and calls the CategoryDAO class to use Hibernate/JPA to query a list of categories from the database. And finally code a JSP page to display all categories.
-
52Implement Create Category Feature
Understand the requirement and design of the create category feature.
Code a JSP page to display the new category form with form validation using Javascript.
Code a Java Servlet to handle request to save a new category.
Update the CategoryServices class to call the CategoryDAO to persist the Category object into the database with the help of Hibernate/JPA.
-
53Implement Edit Category Feature
Understand requirement and technical design (UML) for the edit category feature.
Code a Java servlet to get a category from the database.
Update the category form JSP to display the details of the category in edit mode.
Code a Java Servlet to handle the request to update the category.
Update the CategoryServices class to call CategoryDAO to persist the change to the database, thanks to Hibernate and JPA.
-
54Update Edit Category Feature
-
55Implement Delete Category Feature
Understand requirement and design for the delete category feature, via UML diagrams.
Show delete confirmation dialog using Javascript.
Code a Java Servlet to handle the request to remove a category.
Update the CategoryServices class to invoke CategoryDAO class to remove the selected category from the database, thanks to Hibernate and JPA.
-
56Update Delete Category Feature
-
57Update Category Menu Items in the Home Page
Update the website's home page to display the category names as menu items (book categories).
Update the HomeServlet class to get a list of categories.
Update the header JSP to display categories in menu.
-
58Apply Cascading Style Sheet (CSS) for the project
Start using CSS for the website. Add icon images for menu items in the admin.
Specify some rules for hyperlinks, headings, table, form fields, buttons, text.
Update JSP files to use CSS.
-
59Start using jQuery for the project
Start using jQuery for the project to reduce plain Javascript. Replace Javascript code that validates form input by jQuery validation code.
-
60Understand Requirement and Design for Admin Authentication
Review checklist, requirement and workflow for the login/logout features for admin users.
-
61Create Admin Login Page
Code the login page for the admin users using JSP, HTML, Javascript and CSS.
-
62Implement checkLogin function
Code the checkLogin() method in the UserDAO class using named query in JPA. JUnit tests are also used.
-
63Code AdminLoginServlet
Code the login function on the server side: Write a Java servlet to handle login request and update the UserServices class to use HttpSession to store login status.
-
64Implement Logout function
Code the logout function for the admin users using Java Servlet and HttpSession.
-
65Implement AdminLoginFilter
Code a Java filter servlet to intercept requests in order to require authentication for all features in the back-end.
-
66Encrypt password for admin users
-
67Why we need to handle exceptions
Understand the need for handling exceptions for the website application to display more user-friendly error messages to the end users.
-
683 ways of handling exceptions
Understand the 3 ways of handling exceptions for a Java web application.
-
69Handle Error 404
Code a JSP page that displays a friendly message for HTTP 404 error, also configure exception mapping in the web.xml file.
-
70Handle Error 500
Code a JSP page that displays a friendly message for HTTP 500 error, also configure exception mapping in the web.xml file.
-
72Implement create() method
Code the create() method of the BookDAO class to persist a Book object into the database. And thanks to Hibernate and JPA that make the code simple. JUnit test is also used.
-
73Implement update() method
Code the update() method in the BookDAO class to persist changes made to a Book object. Hibernate and JPA make the code simple. Use JUnit test as well.
-
74Implement delete() method
Code the delete() method in the BookDAO class to remove a Book object from the database. The code is simple with Hibernate/JPA. Test using JUnit.
-
75Implement get() method
Code the get() method in the BookDAO class to retrieve details of a book from the database. Hibernate and JPA make the code simple.
-
76Implement listAll() method
Code the listAll() method in the BookDAO class to list all Books from the database using JPA named query and Hibernate implementation. Test using JUnit methods.
-
77Implement findByTitle() method
Code the findByTitle() method in the BookDAO class to get the details of a book by its title, using named query in JPA/Hibernate. JUnit test methods are used as well.
-
78Implement count() method
Code the count() method in the BookDAO class to count the total number of books, using JPA named query and Hibernate implementation. Test using JUnit methods.