當前位置:首頁 » 購物廣場 » web商城購物車思路
擴展閱讀
寧波奧德賽優惠價格 2021-03-15 14:26:02
丹尼斯購物卡能掛失么 2021-03-15 14:25:58
淘寶購物指紋驗證失敗 2021-03-15 14:24:44

web商城購物車思路

發布時間: 2021-02-27 08:16:21

⑴ java web 做購物車的大概思路,和實現步奏是什麼

購物車管理模塊主要功能有如下幾個部分:(1)創建購物車 當客戶登錄後,系統會給客戶創建一個購物車放入伺服器的Session會話中。使客戶在整個會話中都擁有一個相同的購物車。這里主要運用了Http協議中的會話機制,將購物車保存在客戶的會話中,這樣在整個客戶游覽不同頁面商品的過程中,都會使用同一個購物車對象。 具體執行步驟:(1)從客戶的請求對象中獲取Session會話對象(2)從會話對象中獲取購物車對象(3)判斷是購物車對象是不是空的,如果是空是就創建一個 /* * 在監聽到session被創建之後,就立即向session中添加一個購物車Car; */ public void sessionCreated(HttpSessionEvent arg0) { HttpSession session = arg0.getSession(); Cart cart=new Cart(); session.setAttribute("cart", cart); } /* * 從session中獲得購物車 */ Cart cart = (Cart) session.getAttribute("cart"); if (cart == null) { cart = new Cart(); }(2)向購物車中添加一個商品項 客戶在查看網頁上的一個商品時,當向伺服器發送一個「添加到購物車」的請求時,會執行這個功能。功能執行過程:(1)從客戶請求對象中獲取商品的ID(2)調用業務層的方法根據商品ID去數據查詢商品的信息,返回商品對象(3)從商品對象中獲取商品名,商品價格,來構建一個商品項對象(4)從Session會話中獲取購物車對象(5)調用業務層的方法來根據購物車對象和商品項對象來執行添加操作(6)將些商品項對象放入到購物車中 部分實現代碼: /* * 從資料庫中把商品取到; */ ProctService proctService = (ProctService) ServiceFactory.getInstance().getService(Globals.PRODUCT_SERVICE); Integer id = Integer.parseInt(request.getParameter("proctid")); Proct proct = proctService.getProctById(id); /* * 在向購物車中添加商品的時候會判斷商品是否已經存在, * 已存在的就不讓在加入了; */ if (cart.isExist(id)) { message = "該商品已經存在!請<a onclick='javascript:history.go(-1)'>返回</a>!"; request.setAttribute("message", message); return mapping.findForward("error"); } else { /* * 向購物車添加一個商品; */ cart.addCart(proct); session.setAttribute("cart", cart); return mapping.findForward("addcartsuccess"); }

⑵ 怎麼在webstorm里實現商城購物車功能,例如加一件商品在購物車,結賬啥的

這個應該可以實現的,本身他這種購物車的功能你就可以合並在一起結賬的。

⑶ web前端購物車功能實現

其實思路都是很簡單的,如果你要純前端的實現,那用Javascript或者jquery就可以做了,如果想前後端聯動,那麼具體數據操作你就提交到後台,然後後台重新返回頁面就可以了

⑷ jsp網上商城,訂單方面的思路,比如說我選擇了一個商品,訪問一次action 或者先加到ses

選擇了一個商品,就ajax發把這個商品存到用戶的購物車里(存到購物車的資料庫表中專)
然後結算的屬時候吧購物車的東西列出來,叫用戶自己選,哪個要哪個不要,然後把要的貨物存成一個訂單
訂單是肯定要存資料庫的,這個毋庸置疑

⑸ 最近老師叫我們用java web 搞一個購物車,但我的思路很亂,誰能幫我理清一下的啊

這在考慮你在項目管理級別的能力,以及產品設計級別的能力
1)首先你要考慮你要做的購物車涉及到哪些人員使用,這樣你可以定出使用人員,譬如管理人員他們負責發布產品,而另一類人群就是購買者。
2)第二你要考慮購物車都會涉及到哪些功能,如產品發布,產品購買,產品結算,報表等等,把功能拆分細分至模塊。
3)第三你要考慮各個功能的規則都是怎麼樣的,比如產品發布首先要選擇產品類別,找到產品類別後你要填寫描述,不能重復發送多個相同名稱的產品等等,這個規則你可以來定,因為畢竟沒有明確的需求前,所有的設計都是依靠規則來完成的,如果有需求的話,需求會提供相應明確的規則來輔助你的設計,請羅列出該功能的「要點」,所謂要點就是需要設計時候注意的嚴重或者需要考慮的。
4)第四你需要整理出哪些功能,應該由什麼人可以用操作,這就是角色的控制。
5)第五你要考慮整個流程上的不足,建議你把自己模擬成為一名購買者或者你是一名產品管理員應該怎樣做日常的工作來完成你所有的購買及產品發布工作,如果在第二點羅列的不全面,可以對第二點進行補充,然後往返第二步至第五部的思考中,直到你作為一名購買者及一個管理者能夠完成整個正常流程。
6)就是要找出對應功能中的實體用於設計庫表。
7)進行反例思考,考慮設計庫表中的缺陷
8)實現編碼。
9)其他(不屬於設計期不做解釋)
之所以你能問這個問題是說明你考慮到代碼細節中去了,缺少整體流程上的把控,建議以上步驟用筆一步一步的在紙上實現,如果你到第五步能夠畫出整個購買或者發布的功能流程圖說明該項目已經可以滿足了,最後的設計和編碼問題,不好意思只能去啃代碼和去「取經」了。希望以上思考方式對你有所幫助,給好評哦親!

⑹ (java WEB)誰能告訴我在大型購物網站中使用什麼技術實現購物車的,在線等....只有50分了,一定給

目前購物車的實現主要是通過cookie、session或結合資料庫的方式。下面分析一下它們的機制及作用。
1. cookie
cookie是由伺服器產生,存儲在客戶端的一段信息。它定義了一種Web伺服器在客戶端存儲和返回信息的機制,cookie文件它包含域、路徑、生存期、和由伺服器設置的變數值等內容。當用戶以後訪問同一個Web伺服器時,瀏覽器會把cookie原樣發送給伺服器。通過讓伺服器讀取原先保存到客戶端的信息,網站能夠為瀏覽者提供一系列的方便,例如在線交易過程中標識用戶身份、安全要求不高的場合避免用戶重復輸入名字和密碼、門戶網站的主頁定製、有針對性地投放廣告等等。利用cookie的特性,大大擴展了WEB應用程序的功能,不僅可以建立伺服器與客戶機的聯系,因為cookie可以由伺服器定製,因此還可以將購物信息生成cookie值存放在客戶端,從而實現購物車的功能。用基於cookie的方式實現伺服器與瀏覽器之間的會話或購物車,有以下特點:
n cookie存儲在客戶端,且佔用很少的資源,瀏覽器允許存放300個cookie,每個cookie的大小為4KB,足以滿足購物車的要求,同時也減輕了伺服器的負荷;
n cookie為瀏覽器所內置,使用方便。即使用戶不小心關閉了瀏覽器窗口,只要在cookie定義的有效期內,購物車中的信息也不會丟失;
n cookie不是可執行文件,所以不會以任何方式執行,因此也不會帶來病毒或攻擊用戶的系統;
n 基於cookie的購物車要求用戶瀏覽器必須支持並設置為啟用cookie,否則購物車則失效;
n 存在著關於cookie侵犯訪問者隱私權的爭論,因此有些用戶會禁止本機的cookie功能。
2. session
session是實現購物車的另一種方法。session提供了可以保存和跟蹤用戶的狀態信息的功能,使當前用戶在session中定義的變數和對象能在頁面之間共享,但是不能為應用中其他用戶所訪問,它與cookie最重大的區別是,session將用戶在會話期間的私有信息存儲在伺服器端,提高了安全性。在伺服器生成session後,客戶端會生成一個sessionid識別號保存在客戶端,以保持和伺服器的同步。這個sessionid是只讀的,如果客戶端禁止cookie功能,session會通過在URL中附加參數,或隱含在表單中提交等其他方式在頁面間傳送。因此利用session實施對用戶的管理則更為安全、有效。
同樣,利用session也能實現購物車,這種方式的特點是:
n session用新的機制保持與客戶端的同步,不依賴於客戶端設置;
n 與cookie相比,session是存儲在伺服器端的信息,因此顯得更為安全,因此可將身份標示,購物等信息存儲在session中;
n session會佔用伺服器資源,加大伺服器端的負載,尤其當並發用戶很多時,會生成大量的session,影響伺服器的性能;
n 因為session存儲的信息更敏感,而且是以文件形式保存在伺服器中,因此仍然存在著安全隱患。
3. 結合資料庫的方式
這也是目前較普遍的模式,在這種方式中,資料庫承擔著存儲購物信息的作用,session或cookie則用來跟蹤用戶。這種方式具有以下特點:
n 資料庫與cookie分別負責記錄數據和維持會話,能發揮各自的優勢,使安全性和伺服器性能都得到了提高;
n 每一個購物的行為,都要直接建立與資料庫的連接,直至對表的操作完成後,連接才釋放。當並發用戶很多時,會影響資料庫的性能,因此,這對資料庫的性能提出了更高的要求;
n 使cookie維持會話有賴客戶端的支持。
各種方式的選擇:
雖然cookie可用來實現購物車,但必須獲得瀏覽器的支持,再加上它是存儲在客戶端的信息,極易被獲取,所以這也限制了它存儲更多,更重要的信息。所以一般cookie只用來維持與伺服器的會話,例如國內最大的當當網路書店就是用cookie保持與客戶的聯系,但是這種方式最大的缺點是如果客戶端不支持cookie就會使購物車失效。
Session 能很好地與交易雙方保持會話,可以忽視客戶端的設置。在購物車技術中得到了廣泛的應用。但session的文件屬性使其仍然留有安全隱患。
結合資料庫的方式雖然在一定程度上解決了上述的問題,但從上面的例子可以看出:在這種購物流程中涉及到對資料庫表的頻繁操作,尤其是用戶每選購一次商品,都要與資料庫進行連接,當用戶很多的時候就加大了伺服器與資料庫的負荷。

PS:以上是參考網上資料,對購物車實現的分析!
結合你自身的web的訪問及部署情況,可考慮優先或結合使用。
如果使用資料庫存儲,一般考慮使用緩存技術去解決性能問題。

有問題再追問,good luck!~

⑺ 我想做一個網上商店網,購物車應該怎麼做呢

紅塵之子,你好!
以下代碼來自:月光軟體站
我還給你發了一個購物系統文件。
一個購物車的原代碼
一個購物車的代碼,變數放在一個數組里,用session傳遞,
<?php
//////////接收頁面變數,並放入數組
session_start();
if(!session_is_registered('stationery'))
session_register('stationery');
?>
<HTML>
<HEAD>
<TITLE>網上商城購物車</TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<link rel=stylesheet href=site.css>
<script language="JavaScript">
setTimeout("windowclose()",3000);
function windowclose()
{
window.close();
}
</script>
</head><body bgcolor=#FAFBDB>

<?php
if($id)
{
echo '<center><font
color=#2C20C1><b>您所選的商品已經放入購物車!</b></font></center><br>';
echo '<center><font color=#FF0000 size=+1><b>'.$name.'</b></font></center><br>';
?>

<?php
$i=count($stationery);
if($i==0)
{
$stationery[$i]['id']=$id;
$stationery[$i]['name']=$name;
$stationery[$i]['price']=$price;
$stationery[$i]['unit']=$unit;
$stationery[$i]['num']=1;
}
else
{
for($j=0;$j<$i;$j++)
{
if($stationery[$j]['id']==$id)//數組不為空,遍歷
exit();
}
$stationery[$i]['id']=$id; //如沒有記錄,給數組增添一個元素
$stationery[$i]['name']=$name;
$stationery[$i]['price']=$price;
$stationery[$i]['unit']=$unit;
$stationery[$i]['num']=1; //數量初始化為1
}
}
?>
<center>該對話框將於3秒後關閉</center>

</body>

</html>

<HTML>
<HEAD>
<link rel=stylesheet href=site.css>
<TITLE> 網上商城購物清單 </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY bgcolor=#FAFBDB>
<?php
/////////////響應清空,購買,重計算貨款,以及查看購物車的功能。
if($pay)
if(!session_is_registered('loginame'))
{
echo "<center><font color=#3333CC><b>您還沒有登錄.</b></font></center><br>";
echo "<center><font
color=#2D2DFF><b>如果您已是商城注冊會員,請直接登錄:</b></font></center>";
echo "<FORM METHOD=POST ACTION='login.php'><table align=center width=50%><tr><td
align=right>
用戶名</td><td align=left> <input type=text name=id size=12
maxlength=12></td></tr>
<tr><td align=right>密碼</td><td align=left><input type=password name=pass
size=12 maxlength=12></td></tr>
</table><br>";
echo "<center><input type=submit name=submit value=登錄></center><br></form>";
echo "<center><font color=#2D2DFF>如果您還沒有成為商城會員,請在這里</font><a
href='login.php' target=_blank><b><font
color=#004623>注冊</font></b></a><center>";
exit();
}
else
{
$connect=odbc_connect('apolloly','sa','');
$cou=count($stationery);
for($j=0;$j<$cou;$j++)
{
if($stationery[$j]['num']<=0)
{
continue;
}
$current=date("Y-m-d H:i");
$iid=$stationery[$j]['id'];
$nnum=$stationery[$j]['num'];
$sql="insert into
wuju_purchase(member_id,wenju_id,amount,order_date)values('$loginame','$iid','$nnum'
,'$current')";
$result=odbc_do($connect,$sql);

$query_hit="select hits from wenju where id='$iid'";
$va=odbc_do($connect,$query_hit);
$hit=odbc_result($va,hits);
$hit=$hit+1;

$updt="update wenju set hits='$hit' where id='$iid'";
$execute=odbc_do($connect,$updt);
}
unset($stationery);
echo '尊敬的 <font color=#0000CE><b>'.$loginame.':</b></font><br>';
echo
'<br><br><center>您已完成本次購買,我們立即開始服務,請靜侯迴音.</center
><br>';
echo '<center>如有疑問,請撥打服務電話:86-22-********</center>';
exit();
}
?>
<?php
if($destroy)
{
unset($stationery);
echo "<center><font color=red><b>購物車已經清空,請重新選擇.</b></font></center>";
exit();
}
if($action=='get')
{
$size=count($stationery);
if($size==0)
{
echo '<center><font color=red><b>購物車內沒有任何物品.</b></font></center>';
exit();
}
if($size!=0)
{
echo '<FONT
color=#5555FF><b>您在網上商城的購物清單,請查對:</b></FONT>';
?>

<table width=400 align=center border=1 bordercolor=#49B7BC bgcolor=#C1C1C1
bordercolordark=#DEEEF1
bordercolorlight=#2E626B cellspacing=0 cellpadding=5>
<tr><td align=center width=35%><b>商品名稱</b></td><td align=center
width=15%><b>單位</b></td><td align=center
width=15%><b>價格</b></td>
<td align=center width=15%><b>數量</b></td><td align=center
width=20%><b>貨款</b></td></tr>

<?php
$aa=1;
$total=0;
echo '<FORM METHOD=POST ACTION="'.$PHP_SELF.'?action=get">';
for($s=0;$s<$size;$s++)
{
$digit[$s]='value'.$aa++;
if(isset($$digit[$s]))
{
$stationery[$s]['num']=$$digit[$s];
}
if($$digit[$s]<0)
{
$stationery[$s]['num']=1;
}
$money=$stationery[$s]['price']*$stationery[$s]['num'];
if($money==0)
{
continue;
}
echo '<tr><td align=center>'.$stationery[$s]['name'].'</td><td
align=center>'.$stationery[$s]['unit'].
'</td><td align=center>'.$stationery[$s]['price'].'</td><td align=center><input
type=text name='.$digit[$s].' size=3 maxlength=3
value='.$stationery[$s]['num'].'></td><td align=center>'.$money.'</td></tr>';
$total=$total+$money;
}
echo '<tr><td colspan=5 align=center>您本次購物的總貨款是:人民幣<font
color=#FF0000><b>'.$total.'</b></font>元。</td></tr>';
echo '</table><br><br>';
echo '<table width=300 border=0 align=center>';
echo '<tr><td align=center width=80><input type=submit name=destroy
value=清空購物車></td>';
echo '<td align=center width=30></a></td>';
echo '<td align=center width=80><input type=submit name=reset
value=重計算貨款></td>';
echo '<td align=center width=30></a></td>';
echo '<td align=center width=80><input type=submit name=pay
value=已決定購買></td></tr>';
echo '</table></form><br><br>';
}
}
echo '<center><font
color=#4A68B5><b>*註:如果您打算在商品清單中取消某樣商品,請在數量欄內置"0",點擊 "
重計算貨款"後,該商品即被刪除.</b></font></center>';
echo '<center><font
color=#4A68B5><b>*註:當您按下"已決定購買",本次購買行為即生效,請細心操作.</b></font>
</center>';
?>

</BODY>
</HTML>

⑻ web開發:一個購物的流程應該怎麼作呢 沒思路 求解

session中有一個屬性名為購物車實際上是個容器的東西啊,你把所有的東西放到容器里(容專器可以使用泛型屬,添加你設定的Item類),這樣你從session中獲取這個購物車,記得到這個容器,然後遍歷之,不就可以了么?你談到的用session獲取理論上也行,但沒有誰靠session去獲取的,要麼連資料庫,要麼就按我說的那種形式。希望幫到你。
或者你指的是每個商品的信息,這個可以使用javaBean來實現,而javaBean是序列化的,就是在從客戶端去過來的過程中是一一對應的,就像key與value一樣,這樣保證了一個屬性得到的一定是他對應的值而不會是其他的。
綜上即是「怎樣取出」與「保證取出正確」的解答,希望能幫到你

⑼ 網上商城購物車怎樣實現,簡單說一下怎樣實現就可以

定義一個List,把東東放進去,再把LIst放進session

⑽ JavaWeb開發中,怎麼根據用戶來實現單個的購物車,小白入門,請指教。能附上源碼跟容易理解謝謝!

1、這個如果連抄資料庫就很簡襲單了,cart資料庫,首先有id,proctID,然後userid,就是買家的id,然後PublishID,視為賣家id,其他的數據從proct表裡面讀,避免了重復存。
2、如果單純的起步學習,我還記得我小時候,老師講用session,用戶進入系統後如果要登錄就用用戶id去存session,不登錄就隨即生成一個id存session,購物車就根據用戶id讀session數據。