JSP+JAVABEAN+SERVLET模式的購物車實現(xiàn)分類: servlet&jsp 1.針對實現(xiàn)的JSP+JAVABEAN+SERVLET模式的購物車的說明。 (1)應用說明。 我們實現(xiàn)的購物車是最大程度的接近和模仿現(xiàn)實電子商務中的購物車。實現(xiàn)了以下功能: *向購物車中添加商品。 *在購物車中展示所購商品的編號,名稱,單價,數(shù)量及總價。 *改變購物車中商品的數(shù)量。 *刪除購物車中的某項商品。 *計算購物車中單項商品的總價。 *計算購物車中所有商品的價格。 *清空購物車。 (2)界面說明。 商品列表------用于選擇要購買的商品并加入購物車。 URL:http://localhost:8080/cart/goodslist.jsp 點擊“購入”便向購物車中購入商品。 點擊“察看購物車”便展示購物車中的購入商品。 URL:http://localhost:8080/cart/viewShoppingCart_servlet 點擊“刪除”便從購物車中刪除該項商品。 在文本框中輸入數(shù)量便改變了該項商品的購入數(shù)量。該文本框有相關的servlet 方法以保證輸入合法。 點擊“清空購物車”便刪除了全部購入商品。 URL:http://localhost:8080/cart/clearShoppingCart_servlet 可查看購物車中已經(jīng)沒有了商品。 (3)代碼說明。 為了實現(xiàn)這個Medol2的購物車我們實現(xiàn)了以下組件: JAVABEAN: CartGoodsInf.java用于封裝購物車中的單項商品的屬性及GET,SET方法。具體屬性有: String goodsId, String goodsName, double goodsPrice,int goodsAmount,double totalPrice。 ShoppingCart.java用于封裝整個購物車的屬性及業(yè)務邏輯。 具體屬性有:Map shopCart 用于封裝購物車中的全部商品每一項商品都以CartGoodsInf 對象的形式封裝于其中。 double allGoodsPrice 用于計算全部商品的總價。 業(yè)務邏輯的方法有: public void addGoods (String goodsId,String goodsName,double goodsPrice,int goodsAmount);用于添加商品。 public void deleteGoods(String goodsId);刪除商品。 public void changeAmount(String goodsId, int goodsAmount);改變商品數(shù)量。 public Map getShopCart();返回購物車中的全部商品。 public double getAllGoodsPrice();返回購物車中全部商品的總價。 public void clearShoppingCart();清空購物車。 SERVLET:用于控制邏輯. AddGoodsServlet.java 添加商品。 ViewShoppingCartServlet.java 察看購物車。 DeleteGoodsServlet.java 刪除商品。 ChangeAmountServlet.java 改變商品數(shù)量。 ClearShoppingCartServlet.java清空購物車。 JSP:我們的JSP用于實現(xiàn)VIEW向用戶顯示相關信息,由于實現(xiàn)了MVC我們可以方便的改變界面,所以界面并非唯一的也并非我們的重點。 goodslist.jsp menageshopcart.jsp 2. 學習心得。 通過對這一個購物車的實現(xiàn),我們得到了以下啟示: 整個購物車的邏輯過程其實是圍繞ShoppingCart.java這個類的對象展開的,全部SERVLET實現(xiàn)的控制邏輯都是對ShoppingCart.java 定義的業(yè)務邏輯的方法的調(diào)用。在ShoppingCart.java 中對一項商品使用CartGoodsInf.java 類的實例對商品屬性進行封裝,因此在一個ShoppingCart 實例中維護了多個CartGoodsInf 實例。 對于SERVLET將ShoppingCart.java 的相關業(yè)務邏輯的方法返回的數(shù)據(jù)設置為request 對象的屬性,用于JSP獲取及使用,或者是執(zhí)行完無返回值的方法后用RequestDispatcher requestDispatcher=request.getRequestDispatcher("/…….");requestDispatcher.forward(request,response);語句進行轉(zhuǎn)發(fā)。 在實現(xiàn)VIEW的JSP中只是對SERVLET通過request 對象傳遞的屬性的提取及通過矢代子的讀取及顯示為網(wǎng)頁元素。并無相關業(yè)務控制邏輯。 我們認識到在以后進行MVC開發(fā)時應投入一定精力分析相關項目的控制邏輯,業(yè)務邏輯以及與業(yè)務邏輯相關的模型的屬性(用于JAVABEAN中)。在模型相關的JAVABEAN中應盡量發(fā)現(xiàn)業(yè)務邏輯中用于操作的對象應具有的屬性。在業(yè)務邏輯中只用于封裝項目中對模型進行操作的所有方法。至于要在何時使用這些方法及應具有何種條件應放在控制器中實現(xiàn)。 業(yè)務邏輯中并不指定如何使用這些方法,只用給出相關義務邏輯應具有的方法。 總之,基本的原則是:JAVABEAN用于實現(xiàn)模型及業(yè)務邏輯,SERVLET用于實現(xiàn)控制邏輯(控制器),JSP實現(xiàn)試圖。 至于具體的過程要聯(lián)系具體項目才能說得清楚。這里只是做一些文字上的說明。 源碼下載地址:http://matrix.org.cn/resource/upload/article/2006_06_12_231418_jfDDwCNzAa.rar http://matrix.org.cn/resource/article/2006-06-12/JSP+JAVABEAN+SERVLET_44477.html
Powered by: BlogJava Copyright © freedoom