The application connects to a MySQL database. It uses a controller to handle the incoming requests and redirect to relevant services. Trying to replicate a larger scale application, a facade service was implemented. The link with the database is done using a Data Access Object (DAO) which has a Customer entity reference. The Customer class has its fields mapped to the Customer table.
Project setup was done by importing Spring, Hibernate, JBDC and JSTL libraries jars from their respective websites and configuring the web and spring xml's.
The JSP's use JSTL and Spring tags to facilitate code development.
The main screen lists all of the customers retrieved from the database sorted by Last Name.
Using the add customer button we can add a new customer in the database.
Using the search customer button users insert a query which will retrieve results from the database that match the first and last name. If no search input is provided then customers are reordered by ID. If there are no matching entries then no results will be displayed.
Customers can be sorted alphabetically (first name, last name or email) by clicking the respective table headers.
Customers can have their details updated.
Customers can be deleted from the database.
Application Overview HomePage New Customer Page Update Customer Page Delete Customer Prompt Seach result page for "Jo" query