溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JAVAEE中用Session簡單實(shí)現(xiàn)購物車功能示例代碼

發(fā)布時間:2020-09-23 14:06:53 來源:腳本之家 閱讀:175 作者:張行之 欄目:編程語言

Session簡單實(shí)現(xiàn)購物車功能

這個小程序主要就3個頁面,一個商品列表頁面(HomeServlet),一個是提示加入購物車頁面(AddCartTipServlet),一個是顯示購物車清單頁面(ShowCartServlet)。

HomeServlet頁面:

@WebServlet({ "/HomeServlet", "/home" })
public class HomeServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;

  public HomeServlet() {
    super();
  }

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    request.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    out.print("<h3>書單</h3><hr/><br/>");
    out.print("人類簡史<a href='"+request.getContextPath()+"/addCartTip?id=1'>加入購物車</a><br/>");
    out.print("未來簡史<a href='"+request.getContextPath()+"/addCartTip?id=2'>加入購物車</a><br/>");
    out.print("世界簡史<a href='"+request.getContextPath()+"/addCartTip?id=3'>加入購物車</a><br/>");
    out.print("時間簡史<a href='"+request.getContextPath()+"/addCartTip?id=4'>加入購物車</a><br/>");
    out.print("<a href='"+request.getContextPath()+"/show/cart'>查看購物車</a><br/>");
  }

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

}

AddCartTipServlet頁面:

@WebServlet({ "/AddCartTipsServlet", "/addCartTip" })
public class AddCartTipsServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;


  public AddCartTipsServlet() {
    super();
  }

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    request.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=utf-8");

    HttpSession session = request.getSession();
    List<String> list = (List<String>) session.getAttribute("cart");
    if(list==null){
      list=new ArrayList<>();
    }

    String id = request.getParameter("id");
    list.add(id);
    session.setAttribute("cart", list);

    System.out.println(list.toString());
    response.getWriter().println("已加入購物車<br/>"
        + "<a href='"+request.getContextPath()+"/home'>繼續(xù)購物</a><br/>"
        + "<a href='"+request.getContextPath()+"/show/cart'>查看購物車</a><br/>");
  }

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

}

ShowCartSevlet頁面

@WebServlet({ "/ShowCartServlet", "/show/cart" })
public class ShowCartServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;

  public ShowCartServlet() {
    super();
  }


  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    request.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    List<String> list = (List<String>)request.getSession().getAttribute("cart");
    if(list!=null){   
      out.print("你的購物清單:<br/>");
      for (String string : list) {
        out.println(DBUtils.findById(string)+"<br/>");
      }
      out.println("<br/><a href='"+request.getContextPath()+"/home'>繼續(xù)購物</a><br/>");
    }else{
      out.println("你還沒有將商品添加到購物車<br/>"
          + "<a href='"+request.getContextPath()+"/home'>返回商品列表</a><br/>");
    }
  }

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

}

DBUtils:存儲著商品信息

public class DBUtils {
  private static Map<String,String> map = new HashMap<>();

  static{
    map.put("1", "人類簡史");
    map.put("2", "未來簡史");
    map.put("3", "世界簡史");
    map.put("4", "時間簡史");
  }

  public static String findById(String id){
    return map.get(id);
  }

}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI