資源描述:
《基于asp的購物車設(shè)計與實(shí)現(xiàn)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、基于ASP的購物車設(shè)計與實(shí)現(xiàn)1引言 “購物車”在線購物類網(wǎng)站中是非常重要的功能。它是一個虛擬的購物籃,用戶可以將自己喜愛的商品放入購物籃,同時也可以將不需要商品從你的購物籃中拿出去。它的出現(xiàn)使網(wǎng)上購物顯得非常的簡單、形象和人性化。 2開發(fā)環(huán)境 采用ASP技術(shù)開發(fā)購物車功能,數(shù)據(jù)庫采用Access?! ∨渲肁SP運(yùn)行環(huán)境,即需要安裝IIS,一般測試程序時,不需要做任何的設(shè)置。要注意的是IIS有很多版本,不同的系統(tǒng)基本上版本都不同,最好從原系統(tǒng)盤上安裝?! ?購物車的設(shè)計與實(shí)現(xiàn) 要想在網(wǎng)站上實(shí)現(xiàn)“購物
2、車”功能,有好幾種方法,比如用Session、Cookie或者數(shù)據(jù)表等。這里將重點(diǎn)介紹和比較Session、數(shù)據(jù)表實(shí)現(xiàn)“購物車”設(shè)計與實(shí)現(xiàn)?! 百徫镘嚒痹O(shè)計如圖1所示。 圖1購物車 3.1Cookie實(shí)現(xiàn)購物車簡述 3.1.1Cookie介紹 Cookie是用戶訪問某些網(wǎng)站時,由Web服務(wù)器在客戶端磁盤上寫入的一些小的文本文件,用于記錄瀏覽者的個人信息、瀏覽器類型、何時訪問該網(wǎng)站以及執(zhí)行過哪些操作等。ASP中可以采用Response對象的Cookies集合向客戶端寫入Cookie,采用Request對象的Cooki
3、es集合讀取客戶端的Cookie?! ?.1.2使用Cookie設(shè)計的優(yōu)缺點(diǎn) Cookie是通過服務(wù)器端CGI、腳本或者客戶端腳本把信息保存在客戶機(jī)上的,為服務(wù)器或客戶機(jī)再次使用這些信息提供方便。在javascript中有一些用來對Cookie進(jìn)行操作的函數(shù),如設(shè)置Cookie值的Setcookie(name,value),刪除Cookie的Deletecookie(name)等。使用Cookie來保存“購物車”信息的優(yōu)點(diǎn)是,即使當(dāng)用戶關(guān)閉了瀏覽器窗口,“購物車”中的信息也不會丟失,并且它占用很少的服務(wù)器端資源,缺點(diǎn)是必須
4、要求用戶端瀏覽器支持Cookie并且打開它。 3.2使用Session+Dictionary實(shí)現(xiàn)“購物車”功能 3.2.1Session、Dictionary介紹 Session對象存儲特定用戶會話所需的信息。Session對象是在每一位訪問者從Web站點(diǎn)或Web應(yīng)用程序中首次請求一個ASP頁時創(chuàng)建的,它將保留到默認(rèn)的期限結(jié)束或通過腳本設(shè)置中止的期限。這樣,當(dāng)用戶在應(yīng)用程序的Web頁之間跳轉(zhuǎn)時,存儲在Session對象中的變量將不會丟失,而是在整個用戶會話中一直存在下去。利用Session的功能,可以將購物信息(商品I
5、D和購買數(shù)量)存儲到Session變量中?! 榱烁屿`活實(shí)現(xiàn)的“購物車”,設(shè)計過程中可以引進(jìn)Dictionary對象。Dictionary對象與關(guān)聯(lián)數(shù)組是等價的,Dictionary對象用于數(shù)組,可以存儲key/item數(shù)據(jù)對,其中key的值是惟一的,而item的值可以重復(fù),且item項(xiàng)與key項(xiàng)相關(guān)聯(lián)。這樣key可以用來存儲購買商品的ID,而item則可以存儲購買商品的數(shù)量?! ?.2.2設(shè)計與實(shí)現(xiàn) (1)放商品入“購物車” 將商品ID和數(shù)量寫入到Dictionary中,使用的方法是Add。該方法用于向Diction
6、ary對象添加鍵和項(xiàng)目。格式:對象.Addkey,item 判斷是否存在Session("cart"),不存在則創(chuàng)建一個Session("cart")對象 ?。? IfNotIsObject(Session("cart"))Then SetSession("cart")=Server.CreateObject("Scripting.Dictionary") EndIf %> 將Session("cart")展開一個本地副本調(diào)用?! 。?SetCart=Session("cart")%> 如果該商品的ID不存在,
7、則可以使用Dictionary對象的Add方法將商品的編號(ProductID)和購買的數(shù)量Num寫入到Cart中?! 。? IfNotCart.Exists(ProductID)Then Cart.AddProductID,Num EndIf %> 接著再將修改后的本地副本整體賦值給Session("cart") <%SetSession("cart")=Cart%> (2)查看“購物車”中商品 將Session("cart")中的商品ID獲取后,從商品表中獲取相應(yīng)商品信息??梢圆捎脤ession("ca
8、rt")中的數(shù)據(jù)組分別賦值給Keys(商品ID組)和Items(商品數(shù)量組)這2個變量?! 。?SetCart=Session("cart") Keys=Cart.keys Items=Cart.items %> 接著可以使用循環(huán)語句顯示用戶購買的商品和數(shù)量以及總價等信息。 ?。?