天若有情

          到教堂懺悔,愿主安撫我罪惡的心靈......
          posts - 4, comments - 35, trackbacks - 0, articles - 24

           

          JSP+JAVABEAN+SERVLET模式的購物車實現(xiàn)

          JSP+JAVABEAN+SERVLET模式的購物車實現(xiàn)分類: servlet&jsp 1.針對實現(xiàn)的JSP+JAVABEAN+SERVLET模式的購物車的說明。

          (1)應(yīng)用說明。
          我們實現(xiàn)的購物車是最大程度的接近和模仿現(xiàn)實電子商務(wù)中的購物車。實現(xiàn)了以下功能:
          *向購物車中添加商品。
          *在購物車中展示所購商品的編號,名稱,單價,數(shù)量及總價。
          *改變購物車中商品的數(shù)量。
          *刪除購物車中的某項商品。
          *計算購物車中單項商品的總價。
          *計算購物車中所有商品的價格。
          *清空購物車。

          (2)界面說明。
          商品列表------用于選擇要購買的商品并加入購物車。
          URL:http://localhost:8080/cart/goodslist.jsp

          點擊“購入”便向購物車中購入商品。
          點擊“察看購物車”便展示購物車中的購入商品。

          URL:http://localhost:8080/cart/viewShoppingCart_servlet

          點擊“刪除”便從購物車中刪除該項商品。
          在文本框中輸入數(shù)量便改變了該項商品的購入數(shù)量。該文本框有相關(guān)的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è)務(wù)邏輯。
          具體屬性有:Map shopCart 用于封裝購物車中的全部商品每一項商品都以CartGoodsInf 對象的形式封裝于其中。
          double allGoodsPrice 用于計算全部商品的總價。

          業(yè)務(wù)邏輯的方法有:    
          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向用戶顯示相關(guān)信息,由于實現(xiàn)了MVC我們可以方便的改變界面,所以界面并非唯一的也并非我們的重點。
          goodslist.jsp
          menageshopcart.jsp

          2. 學(xué)習(xí)心得。
          通過對這一個購物車的實現(xiàn),我們得到了以下啟示:
          整個購物車的邏輯過程其實是圍繞ShoppingCart.java這個類的對象展開的,全部SERVLET實現(xiàn)的控制邏輯都是對ShoppingCart.java 定義的業(yè)務(wù)邏輯的方法的調(diào)用。在ShoppingCart.java 中對一項商品使用CartGoodsInf.java 類的實例對商品屬性進(jìn)行封裝,因此在一個ShoppingCart 實例中維護(hù)了多個CartGoodsInf 實例。

          對于SERVLET將ShoppingCart.java 的相關(guān)業(yè)務(wù)邏輯的方法返回的數(shù)據(jù)設(shè)置為request 對象的屬性,用于JSP獲取及使用,或者是執(zhí)行完無返回值的方法后用RequestDispatcher requestDispatcher=request.getRequestDispatcher("/…….");requestDispatcher.forward(request,response);語句進(jìn)行轉(zhuǎn)發(fā)。
          在實現(xiàn)VIEW的JSP中只是對SERVLET通過request 對象傳遞的屬性的提取及通過矢代子的讀取及顯示為網(wǎng)頁元素。并無相關(guān)業(yè)務(wù)控制邏輯。

          我們認(rèn)識到在以后進(jìn)行MVC開發(fā)時應(yīng)投入一定精力分析相關(guān)項目的控制邏輯,業(yè)務(wù)邏輯以及與業(yè)務(wù)邏輯相關(guān)的模型的屬性(用于JAVABEAN中)。在模型相關(guān)的JAVABEAN中應(yīng)盡量發(fā)現(xiàn)業(yè)務(wù)邏輯中用于操作的對象應(yīng)具有的屬性。在業(yè)務(wù)邏輯中只用于封裝項目中對模型進(jìn)行操作的所有方法。至于要在何時使用這些方法及應(yīng)具有何種條件應(yīng)放在控制器中實現(xiàn)。

          業(yè)務(wù)邏輯中并不指定如何使用這些方法,只用給出相關(guān)義務(wù)邏輯應(yīng)具有的方法。

          總之,基本的原則是:JAVABEAN用于實現(xiàn)模型及業(yè)務(wù)邏輯,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


          Feedback

          # re: JSP+JAVABEAN+SERVLET模式的購物車實現(xiàn)   回復(fù)  更多評論   

          2012-12-04 22:21 by 王玉
          下載不了啊

          # re: JSP+JAVABEAN+SERVLET模式的購物車實現(xiàn)   回復(fù)  更多評論   

          2012-12-04 22:22 by 王玉
          下載不了啊,能不能發(fā)到我郵箱啊,謝謝

          # re: JSP+JAVABEAN+SERVLET模式的購物車實現(xiàn)   回復(fù)  更多評論   

          2013-12-08 22:34 by 這是真的
          @王玉
          請問你有這個程序源碼嗎,能發(fā)我一份嗎
          主站蜘蛛池模板: 绥德县| 安新县| 上栗县| 内江市| 油尖旺区| 育儿| 利川市| 唐海县| 新津县| 博客| 汪清县| 洛宁县| 双柏县| 施甸县| 甘肃省| 田东县| 永胜县| 沾益县| 湘潭市| 石楼县| 大洼县| 衡水市| 靖远县| 枝江市| 慈利县| 霸州市| 河北区| 通许县| 苏尼特右旗| 大渡口区| 沂源县| 密云县| 册亨县| 抚州市| 陕西省| 陈巴尔虎旗| 九寨沟县| 望江县| 灵山县| 贺州市| 祁阳县|