CashierServlet.java

 


 /*
  *
  * 
  */
 
 import java.io.*;
 import java.util.*;
 import javax.servlet.*;
 import javax.servlet.http.*;
 import cart.*;
 import util.Currency;
 
 /**
  * Respond to the GET method of the HTTP protocol.  
  * Returns a form to the user that gathers data.
  * The form POSTs to another servlet.
  */
 public class CashierServlet extends HttpServlet { 
 
     public void doGet (HttpServletRequest request,
                        HttpServletResponse response)
    throws ServletException, IOException
     {
         // Get the user's session and shopping cart
         HttpSession session = request.getSession();
     		ResourceBundle messages = (ResourceBundle)session.getAttribute("messages");
 
         ShoppingCart cart =
             (ShoppingCart)session.getAttribute("cart");
         if (cart == null) {
             cart = new ShoppingCart();
             session.setAttribute("cart", cart);
         }
         
    // set content-type header before accessing Writer
       response.setContentType("text/html");
       PrintWriter out = response.getWriter();
       Currency c = (Currency)session.getAttribute("currency");
       if (c == null) {
          c = new Currency();
          c.setLocale(request.getLocale());
          session.setAttribute("currency", c);
       }
       c.setAmount(cart.getTotal());
 
    // then write the data of the response
         out.println("<html>" +
                     "<head><title>" + messages.getString("TitleCashier") + "</title></head>");
 
         // Get the dispatcher; it gets the banner to the user
         RequestDispatcher dispatcher =
                getServletContext().getRequestDispatcher("/banner");
                                        
             if (dispatcher != null)
                dispatcher.include(request, response);
                
        // Print out the total and the form for the user
         out.println("<p>" + messages.getString("Amount") +
                     "<strong>" + c.getFormat() + "</strong>" +
                     "<p>" + messages.getString("Purchase") +
                     "<form action=\"" +
                     response.encodeURL(request.getContextPath() + "/receipt") +
                     "\" method=\"post\">" +
                     "<table>" +
                     "<tr>" +
                     "<td><strong>" + messages.getString("Name")+ "</strong></td>" +
                     "<td><input type=\"text\" name=\"cardname\"" +
                     "value=\"Gwen Canigetit\" size=\"19\"></td>" +
                     "</tr>" +
                     "<tr>" +
                     "<td><strong>" + messages.getString("CCNumber") + "</strong></td>" +
                     "<td>" +
                     "<input type=\"text\" name=\"cardnum\" " +
                     "value=\"xxxx xxxx xxxx xxxx\" size=\"19\"></td>" +
                     "</tr>" +
                     "<tr>" +
                     "<td></td>" +
                     "<td><input type=\"submit\"" +
                     "value=\"" + messages.getString("Submit") + "\"></td>" +
                     "</tr>" +
                     "</table>" +
                     "</form>" +
                     "</body>" +
                     "</html>");
         out.close();
     }
 
     public String getServletInfo() {
         return "The Cashier servlet takes the user's name and " +
                "credit card number so that the user can buy the books.";
 
     }
 }