CST8288
Lab #2 – Java Servlets and DAO Pattern
Objectives
Demonstrate the Data Access Object (DAO) pattern by creating a java servlet which reads the IndyWinners database and displays a list of Indy Winners to the remote user. The application must support multiple concurrent users ensuring the Java servlet is “thread safe”. You must create and use a DAO design pattern for building/creating IndyWinner objects (which are then used to provide the data for display purposes to the remote user.) Make sure you apply SOLID with regards to each classes/interface you create for the application.
Tasks:
1. Use the provided SQL scripts to create your database using MySQL and the MySQL Workbench (CTLDIndyWinners.sql, in the provided ZIP file).
2. Create the Java Servlet which will be invoked by a HTML page with a servlet request to the
servlet engine (server, Tomcat). Provided ZIP file is a complete Netbeans project for a working “simplified” example. Note this environment uses a web browser, servlet engine (Tomcat server), and the MySQL database server, MySQL workbench tool helps. (Your lab Prof should review the provided sample)
3. The servlet must build IndyWinner objects which must incorporate a DAO design pattern for accessing the database with the Indy Winners state.
4. The servlet must be thread safe (support multiple concurrent users).
5. The display to the client (remote user, web browser) must show a maximum of 10 winners per
screen/page with a “continue” button on the bottom (effectively scroll thru the list of winners 10 at a time).
6. You must create a UML class diagram for your application (meet SOLID principles and incorporate a DAO design pattern, minimum).
Lab Deliverables
1. Submit a zip file of all your Netbeans project (source code, web page etc.) and your java “doc” folder with complete generated Java documentation and GitHub repo link on the BrightSpace
2. Submit your UML diagram as an image file.
Assessment Criteria:
1. The deliverable is worth 7.5% of your final grade. Following are the breakdown of the marks
o Correct implementation of the Java Servlet 5
o Correct implementation of the IndyWinner objects (and SOLID) 5
o Correct implementation and use of the DAO design pattern 5
o Complete Java documentation for the application classes/interfaces 5
o Junit 5
o Demo 5
Reviews
There are no reviews yet.