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

📄 goodsview.java~52~

📁 购物车模块实例。购物车模块可以浏览商品类别;可以根据商品类别浏览商品信息;可以购买商品;可以查看购物车的商品;可以修改购买商品的数量和删除购买的商品。
💻 JAVA~52~
字号:
package cartservlet;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import data.*;

public class GoodsView extends HttpServlet {
  private static final String CONTENT_TYPE = "text/html; charset=GBK";
  public void init() throws ServletException {
  }
  //doPost方法
  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    //设置取得字符串的编码机制
    request.setCharacterEncoding("GBK");
    //设置字符输出的编码机制
    response.setContentType(CONTENT_TYPE);
    //取得html代码输出类
    PrintWriter out = response.getWriter();
    //通过HttpServlet类的getServletContext方法取得application的对象
    ServletContext application = getServletContext();
    //创建session对象
    HttpSession session = request.getSession();
    //声明页面转向类
    RequestDispatcher requestDispatcher = null;
    //取得按钮的字符
    String action = request.getParameter("action");
    if(action.equals("商品浏览页面")){
      //取得顾客的名字
      String name = request.getParameter("name");
      if(name.trim().length() == 0){
        //创建页面转向类
        requestDispatcher = application.getRequestDispatcher("/error.jsp");
        request.setAttribute("infor", "请输入顾客的名字.");
        requestDispatcher.forward(request, response);
      }else{
        //创建购物车类
        Cart cart = new Cart();
        cart.setCustomer(name);
        //将购物车类加入session对象
        session.setAttribute("cart", cart);
        //创建页面转向类
        requestDispatcher = application.getRequestDispatcher("/category.jsp");
        //将定义的页面在servlet页面显示
        requestDispatcher.forward(request, response);
      }
      return;
    }
    if(action.equals("加入购物车")){
      if(session.getAttribute("cart") == null){
        //创建页面转向类
        requestDispatcher = application.getRequestDispatcher("/error.jsp");
        request.setAttribute("infor", "请输入顾客的名字.<a href=\"login.jsp\">"
                             + "登陆页面</a>");
        requestDispatcher.forward(request, response);
        return;
      }
      //取得类别ID和名称
      String categoryId = request.getParameter("categoryId");
      String categoryName = request.getParameter("categoryName");
      //从session对象取得购物车对象
      Cart cart = (Cart)session.getAttribute("cart");
      int idsLength = Integer.parseInt(request.getParameter("idsLength"));
      String goodsStr = "";
      String[] oneGoodsStrs = new String[4];
      //创建商品集合类
      Hashtable goods = new Hashtable();
      for(int i = 0; i < idsLength; i++){
        //检查是否选择购买选择框
        if(request.getParameter("goodsId" + i) != null){
          //取得商品字符串
          goodsStr = request.getParameter("goodsId" + i).trim();
          //分解商品字符串
          oneGoodsStrs = cart.decodeGoodsStr(goodsStr);
          //检查商品数量字符串是否是整数并且大于等于0
          if(!(new NumberVerify().verifyNum(request.getParameter("quantity" + i)))){
            //创建页面转向类
            requestDispatcher = application.getRequestDispatcher("/error.jsp");
            request.setAttribute("infor", oneGoodsStrs[1] +
                                 "的购买数量需要输入整数并且大于等于0.");
            requestDispatcher.forward(request, response);
            return;
          }
          //添加商品
          goods.put(oneGoodsStrs[0], oneGoodsStrs[1] + "@@" + oneGoodsStrs[2]
                    + "@@" + oneGoodsStrs[3] + "@@"
                    + request.getParameter("quantity" + i));
        }
      }
      //将购买商品放入购物车
      cart.addGoods(goods);
      //创建页面转向类
      requestDispatcher =  application.getRequestDispatcher("/product.jsp?categoryId="
          + categoryId + "&categoryName=" + categoryName);
      requestDispatcher.forward(request, response);
    }
    if(action.equals("查看购物车")){
      if(session.getAttribute("cart") == null){
        //创建页面转向类
        requestDispatcher = application.getRequestDispatcher("/error.jsp");
        request.setAttribute("infor", "请输入顾客的名字.<a href=\"login.jsp\">"
                             + "登陆页面</a>");
        requestDispatcher.forward(request, response);
        return;
      }
      //创建页面转向类
      response.sendRedirect("cartview.jsp");
    }
  }
  public void destroy() {
  }
}

⌨️ 快捷键说明

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