自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用JSP的Session機制編寫的購物車程序詳解

開發(fā) 后端
對于使用JSP并使用Session機制的程序員,實現購物車功能的設計思路如何呢?這篇文章將向你在JSP Session機制上實現購物車程序功能上提供一點思路。

用JSP的Session 機制編寫的程序就可以是你擁有一個功能強大購物車程序,是不是很誘人呢?趕緊開始我們的程序吧

JSP Session 機制購物車之一構建的商品類

◆寫一個Goods類,并定義商品的各個屬性,返回商品屬性的方法,以及商品對象進行比較的方法

◆Goods.java

  1. package com.viita.Shop;  
  2.  
  3. public class Goods implements Comparable {  
  4.  

◆初始化各成員變量

  1. private String Id = null;//商品的編號Id  
  2. private String name = null;//商品的名稱name  
  3. private float price = 0.00F;//商品的價格price  
  4. private int number = 0;//商品的數量number  
  5. public Goods(String Id, String name, float price, int number) {  
  6. this.Id = Id;  
  7. this.name = name;  
  8. this.price = price;  
  9. this.number = number;  
  10.  
  11. }  
  12. public String getId() //返回訂購商品的編號Id  
  13. {  
  14. return this.Id;  
  15. }  
  16. public String getName() //返回訂購商品的名稱name  
  17. {  
  18. return this.name;  
  19. }  
  20. public float getPrice() //返回訂購商品的價格price  
  21. {  
  22. return this.price;  
  23. }  
  24. public int getNumber() //返回訂購商品的數量number  
  25. {  
  26. return this.number;  
  27. }  
  28. public int compareTo(Object m) {  
  29. // TODO Auto-generated method stub  
  30.  
  31. Goods n = (Goods) m;  
  32. int comRs = Id.compareTo(n.Id);  
  33. return comRs;  
  34.  
  35. }  
  36.  
  37. }  
  38.  

JSP Session 機制購物車之二購物車實現

◆首先建立Goods(商品)對象goods,并建立建立ArrayList對象ay

◆通過ArrayList對象的方法add()將商品對象添加到ArrayList對象ay中

◆由于ArrayList對象是具有添加和刪除成員的方法,從而實現多個商品存儲管理于ArrayList對象

◆將ArrayList對象ay存儲于session對象當中,實現購物車功能

◆shopcar.jsp

  1. <%@ page language="java" import=" java.sql.*,com.viita.Shop.*,java.util.*" pageEncoding="GBK"%> 
  2. <%  
  3.  

◆設置編碼格式

  1. request.setCharacterEncoding("GBK");  
  2.  

◆獲取參數信息

  1. String id = request.getParameter("id");  
  2. String name = request.getParameter("name");  
  3. int number = java.lang.Integer.parseInt(request.getParameter("number"));  
  4. float pricejava.lang.Float.parseFloat(request.getParameter("price")); 

◆建立商品對象和ArrayList對象

  1. Goods goods = new Goods(id,name,price,number);  
  2. ArrayList ay = null

◆如果session中從未寫入過,則將建立的商品對象添加到ArrayList對象當中,并寫入 session

  1. if((ArrayList)session.getAttribute("car")==null)  
  2. {  
  3. ay = new ArrayList();  
  4. ay.add(goods);  
  5. session.setAttribute("car",ay);  
  6. response.sendRedirect("order_index.jsp");  

◆如果寫如過,則將商品對象添加到ArrayList對象當中,并寫入 session

  1. else  
  2. {  
  3. ay=(ArrayList)session.getAttribute("car"); 

◆如果ArrayList 對象為空,則直接添加到ArrayList對象當中

  1. if(ay.isEmpty())  
  2. {  
  3. ay.add(goods);  
  4. session.setAttribute("car",ay);  
  5. response.sendRedirect("order_index.jsp");  

◆如果ArrayList 對象不為空,則判斷購入商品是否已經存在于車中

  1. else  
  2. {  
  3. Iterator it = ay.iterator();  
  4. for(int i = 0;i<ay.size();i++) //下面還有另一種遍歷方法  
  5. {  
  6. Goods shop = (Goods)it.next(); 

◆如果購入商品已經存在,則打印輸入提示信息

  1. if(shop.compareTo(goods)==0)  
  2. {  
  3. out.println("<script>alert('你已經訂購了此商品!');window.close();script>");  

◆如果購入商品不存在,則直接將商品添加到ArrayList對象當中,并寫入 session

  1. else  
  2. {  
  3. ay.add(goods);  
  4. session.setAttribute("car",ay);  
  5. response.sendRedirect("order_index.jsp");  
  6. }  
  7. }  
  8. }  
  9. }   
  10. %> 

JSP Session 機制購物車之三刪除商品

◆對購物車中的商品進行刪除操作

◆removeGoods.jsp

  1. <%@ page language="java" import="java.sql.*,com.viita.Shop.*,java.util.*" pageEncoding="GBK"%> 
  2. <%  

◆設置編碼格式

  1. request.setCharacterEncoding("gb2313"); 

◆獲取參數信息

  1. String id = request.getParameter("id");  
  2. String name = request.getParameter("name");  
  3. float price = java.lang.Float.parseFloat(request.getParameter("price"));  
  4. int number = java.lang.Integer.parseInt(request.getParameter("number")); 

◆創(chuàng)建符合條件參數要刪除的商品對象

  1. Goods goods = new Goods(id,name,price,number); 

◆獲取session 中存儲的ArrayList對象

  1. ArrayList ay = (ArrayList)session.getAttribute("car");  
  2. Iterator it = ay.iterator(); 

◆遍歷ArrayList對象,并將ArrayList對象中的元素和創(chuàng)建的符合參數條件要刪除的商品進行比較

  1. for(int i = ay.size();it.hasNext();i--)  
  2. {  
  3. Goods shop = (Goods)it.next(); 

◆查詢是否有ArrayList對象中的元素與要刪除的商品相同

  1. if(shop.compareTo(goods)==0)  
  2. {  
  3. int index = ay.indexOf(shop);  

◆如果ArrayList對象已經為空,則跳轉

  1. if(ay.isEmpty())  
  2. {  
  3. response.sendRedirect("order_index.jsp");  

◆如果ArrayList對象不為空,則從其中移去要與要刪除的商品條件相符的元素,并重新寫session

  1. else  
  2. {  
  3. ay.remove(index);  
  4. session.setAttribute("car",ay);  
  5. response.sendRedirect("order_index.jsp");  
  6. }  
  7. }  
  8. else  
  9. {  
  10. out.print("程序異常");  
  11. }  
  12. }  
  13. %> 

JSP Session 機制購物車是不是使你眼睛豁然一亮的感覺呢?趕緊開始吧,JSP Session機制的使用期待你的嘗試。

【編輯推薦】

  1. 基于JSP實現數據庫中圖片的存儲與顯示
  2. JSP教程基礎篇之JSP的技術特點
  3. JSP入門需要知道的五個方面
  4. JSP教程基礎知識之JSP2.0特性
  5. JSP教程之訪問量計數JSP源碼
責任編輯:仲衡 來源: 電子工業(yè)出版社
相關推薦

2009-07-07 15:57:29

JSP購物車

2024-12-02 08:30:19

2009-07-08 15:01:00

Servlet Ses

2022-12-16 08:52:14

購物車系統存儲

2015-08-03 11:48:12

購物車動畫

2017-11-06 09:10:56

程序員數據行業(yè)

2012-01-09 13:55:35

Java

2022-06-28 14:42:26

ETS購物車應用

2025-03-10 09:07:20

2025-03-13 09:22:39

2009-07-02 13:10:09

JSP技術

2018-05-28 09:53:12

京東購物車Java

2024-04-07 10:07:52

2009-07-01 18:01:20

JSP代碼塊緩沖OSCache

2009-07-01 18:17:32

JSP處理Cookie

2009-07-06 09:49:26

Servlet JSP

2009-08-03 10:11:44

JSP開發(fā)環(huán)境配置

2009-07-06 13:52:56

編寫JSP Tag

2012-10-08 11:18:05

JavaMVC項目

2022-09-13 16:01:13

購物車京東接口
點贊
收藏

51CTO技術棧公眾號