亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2017年03月01日 14:15:40   作者:張行之  
本篇文章主要介紹了JAVAEE中用Session簡單實現(xiàn)購物車功能示例代碼,非常具有實用價值,需要的朋友可以參考下。

Session簡單實現(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("<h2>書單</h2><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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java數(shù)據(jù)類型Integer與int的區(qū)別詳細解析

    Java數(shù)據(jù)類型Integer與int的區(qū)別詳細解析

    這篇文章主要介紹了Java數(shù)據(jù)類型Integer與int的區(qū)別詳細解析,Ingeter是int的包裝類,int的初值為0,Ingeter的初值為null,int和integer(無論new否)比,都為true,因為會把Integer自動拆箱為int再去比,需要的朋友可以參考下
    2023-12-12
  • Java標識接口的使用方法

    Java標識接口的使用方法

    在本篇文章中小編給大家分享了關(guān)于Java標識接口的使用方法和教程內(nèi)容,有需要的朋友們學習下。
    2019-01-01
  • Ubuntu 15下安裝JDK1.8教程

    Ubuntu 15下安裝JDK1.8教程

    這篇文章主要為大家詳細介紹了Ubuntu 15下JDK1.8安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Java?時間相減算法題解示例

    Java?時間相減算法題解示例

    這篇文章主要為大家介紹了Java?時間相減算法題解示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • SpringBoot中@Autowired生效方式詳解

    SpringBoot中@Autowired生效方式詳解

    @Autowired注解可以用在類屬性,構(gòu)造函數(shù),setter方法和函數(shù)參數(shù)上,該注解可以準確地控制bean在何處如何自動裝配的過程。在默認情況下,該注解是類型驅(qū)動的注入
    2022-06-06
  • 加速spring/springboot應用啟動速度詳解

    加速spring/springboot應用啟動速度詳解

    這篇文章主要介紹了加速spring/springboot應用啟動速度詳解,本文通過實例代碼給大家介紹的非常詳細對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • 一篇文章帶你深入了解Java基礎(chǔ)

    一篇文章帶你深入了解Java基礎(chǔ)

    這篇文章主要給大家介紹了關(guān)于Java中方法使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-08-08
  • Java自定義equals產(chǎn)生的問題分析

    Java自定義equals產(chǎn)生的問題分析

    這篇文章主要介紹了Java自定義equals時super.equals帶來的問題分析,總的來說這并不是一道難題,那為什么要拿出這道題介紹?拿出這道題真正想要傳達的是解題的思路,以及不斷優(yōu)化探尋最優(yōu)解的過程。希望通過這道題能給你帶來一種解題優(yōu)化的思路
    2023-01-01
  • Java采用setAsciiStream方法檢索數(shù)據(jù)庫指定內(nèi)容實例解析

    Java采用setAsciiStream方法檢索數(shù)據(jù)庫指定內(nèi)容實例解析

    這篇文章主要介紹了Java采用setAsciiStream方法檢索數(shù)據(jù)庫指定內(nèi)容,是比較實用的功能,需要的朋友可以參考下
    2014-08-08
  • Spring Security學習筆記(一)

    Spring Security學習筆記(一)

    這篇文章主要介紹了Spring Security的相關(guān)資料,幫助大家開始學習Spring Security框架,感興趣的朋友可以了解下
    2020-09-09

最新評論