Newer
Older
labs / tiddlers / content / labs / lab06 / _Labs_06_Checklist.md

Here is a checklist for the files that you will need to add to the starting project to complete milestone 1:

  • Four JSP pages:

    • The index/welcome page.
    • The customer account creation page.
    • The customer sign in page.
    • The products page.
  • A JSP fragment for the navigation menu.

  • Three servlet classes:

    • A servlet for processing requests from the customer account registration page.
    • A servlet for processing requests from the customer sign-in page.
    • A servlet for processing sign out requests.
  • A JDBI-based persistent DAO for managing product domain objects. The interface and collections-based version of this class already exist. You will need to add:

    • A JDBI-based persistent DAO interface that implements the ProductDAO interface.
    • A JdbiDaoFactory class that contains a getProductDAO method that returns instances of the JDBI DAO as shown in this lab.
  • A customer DAO for managing customer domain objects. There will be three files for this DAO:

    • An interface.
    • A collections-based DAO (you only need a single Map for this DAO).
    • A JDBI-based persistent DAO interface.

    • This DAO should contain four methods:

      • A method for saving a new Customer.
      • A method for checking if a given username and password matches an existing customer.
      • A method for retrieving a customer via their username.
      • A method for removing a customer.
    • You should also add a getCustomerDAO method to the existing JdbiDaoFactory class that returns an instance of the customer JDBI DAO as shown in this lab. Copy and adapt the existing getProductDAO method.

  • Two DAO test classes:

    • One for testing the product DAO (the test should pass with both the collections and JDBI versions of the DAO).
    • One for testing the customer DAO (the test should pass with both the collections and JDBI versions of the DAO).
  • An SQL file containing the database schema. This should contain create table statements for both the customer and product tables.

    • Remember to add not null contraints to all fields that are important.

If we have missed something that should be on this list then please let us know.