⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cartservlet.java

📁 JAVA Servlet2.3外文书籍源码
💻 JAVA
字号:
package store;

import java.io.*;
import java.util.*;

import javax.servlet.*;
import javax.servlet.http.*;


public class CartServlet extends HttpServlet {


  public void doPost(HttpServletRequest req, HttpServletResponse res)
          throws ServletException, IOException {

    doGetOrPost(req,res);

  }
  public void doGet(HttpServletRequest req, HttpServletResponse res)
          throws ServletException, IOException {

    doGetOrPost(req,res);

  }

  private void doGetOrPost(HttpServletRequest req, HttpServletResponse res)
          throws ServletException, IOException {

    //  Check to see if we are adding to the cart or
    //  if we want to dispay the cart
    String adding = req.getParameter("add");

    PrintWriter out = res.getWriter();

    //  Get the cart if it exists
    HttpSession session = req.getSession();

    Cart cart = (Cart) session.getAttribute("cart");

    if (cart == null) {
      cart = new Cart();
    }

    if (adding.equalsIgnoreCase("true")) {
      //  Add to it
      addToCart(req, cart, out);
    }

    //  Display its contents
    displayCart(cart, out);



  }

  private void addToCart(HttpServletRequest req, Cart cart, PrintWriter out) throws ItemAlreadyAddedException {
    //  Get the item to add from the request

    //  Get the products from the servletcontext
    HashMap products = (HashMap) getServletContext().getAttribute("products");
    //  Find the one represented by the ID that we passed in
    try {
      Integer id = new Integer(Integer.parseInt(req.getParameter("id")));

      Product p = (Product) products.get(id);
      //  Add it to the cart
      cart.addItem(p);
      //  add the cart to the session
      req.getSession().setAttribute("cart",cart);

      out.println("<b>Succesfully added product to cart!</b><br>");

    } catch (NumberFormatException nfe) {
      out.println("<b>Can't add product</b><br>");
    }
  }

  private void displayCart(Cart cart, PrintWriter out) {

    Iterator items = cart.getItems();
    out.println("<h1>Current Cart Contents:</h1>");
    out.println("<table>");
    while (items.hasNext()) {
      out.println("<tr>");
      Product p = (Product)items.next();
      out.println("<td>" + p.getName() + "</td>" + "<td>" + p.getPrice() +"</td>");
      out.println("<tr>");
    }
    out.println("</table>");
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -