récupérer le code source de cette version du TP ici

Le code source de la jsp

Le code source de la servlet

package servlet;

import generic.PersistenceException;

import java.io.IOException;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import app.Customer;
import app.dao.jdbc.CustomerDao;

public class TestCustomerServlet extends HttpServlet {

  private static final long serialVersionUID = 6731281431244223426L;
  private static Log log = LogFactory.getLog(TestCustomerServlet.class);
  private static CustomerDao customerDao = CustomerDao.getInstance();
  private Customer customer;
  private List customers;
  private String name;
  private String forName;
  private String address;
  private String town;
  private String country;
  private String totalPrice;

  protected List findByParentId(String idthrows PersistenceException {
    return customerDao.findByParentId(id);
  }

  public Customer getCustomer() {
    return customer;
  }

  protected Customer findByName(String name, String forName)
      throws PersistenceException {
    log.debug("findByName " + name + ";" + forName);
    return (CustomercustomerDao.findByName(name + ";" + forName);
  }

  protected Customer findById(String idthrows PersistenceException {
    return (CustomercustomerDao.findById(id);
  }

  public Customer find(Integer idthrows PersistenceException {
    log.debug("find " + id);
    Customer o = findById(id.toString());
    return o;
  }

  protected void save() {
    log.debug("save ");
    update();
    customerDao.save(customer);
  }

  protected void delete() {
    log.debug("delete " + customer.getId());
    customerDao.delete(customer);
    customer = new Customer();
  }

  protected void update() {
    customer.setAddress(address);
    customer.setCountry(country);
    customer.setForName(forName);
    customer.setName(name);
    try {
      customer.setTotalPrice(Double.parseDouble(totalPrice));
    catch (Exception e) {
      customer.setTotalPrice(0.0);
    }
    customer.setTown(town);
  }

  protected void getParameters(HttpServletRequest request) {
    address = request.getParameter("address");
    country = request.getParameter("country");
    forName = request.getParameter("forName");
    name = request.getParameter("name");
    totalPrice = request.getParameter("totalPrice");
    town = request.getParameter("town");
  }

  protected void clear() {
    address = "";
    country = "";
    forName = "";
    name = "";
    totalPrice = "0.0";
    town = "";
  }

  protected synchronized void doGet(HttpServletRequest request,
      HttpServletResponse responsethrows ServletException, IOException {
    try {
      String cmd = request.getParameter("cmd");
      String id = request.getParameter("id");
      getParameters(request);
      if ("ajouter".equals(cmd)) {
        id = ""// pour forcer la création d'un nouvel objet
        clear();
      }
      if (!"null".equals(id&& !"".equals(id))
        customer = find(new Integer(id));
      else
        customer = new Customer();
      if ("modifier".equals(cmd|| "ajouter".equals(cmd))
        save();
      else if ("supprimer".equals(cmd))
        delete();
      customers = findByParentId(null)// liste de tous les customers
      request.setAttribute("customer", customer);
      request.setAttribute("customers", customers);
      RequestDispatcher dispatcher = request
          .getRequestDispatcher("jsp/testcustomer.jsp");
      dispatcher.forward(request, response);
    catch (PersistenceException e) {
      response.getWriter().println("error " + e.getMessage());
      e.printStackTrace();
    }
  }

  protected void doPost(HttpServletRequest request,
      HttpServletResponse responsethrows ServletException, IOException {
    doGet(request, response);
  }

}