Ⅰ 急求一個用java web編寫的購物車程序,期末考試要用。
查詢的資料,找到三種方法:
1.用cookie實現購物車;
2.用session實現購物車;
3.用cookie和資料庫(購物車信息持久化)實現購物車;
=========================================================================
分析一下這三種方法的優缺點:
1.單純有cookie實現購物車,這樣的購物車不是很理想,設想一下,如果客戶端的瀏覽器把cookie給禁用了,
這種方法就會在這里流產...
2.session中保存購物車的信息,這個只是在一個會話中可用,如果用戶沒有登錄,或者說登錄了以後,添加購物車,在關閉瀏覽器
或者登出後,之前所添加的購物車通通都流產啦...
其實每次遇到不會的都來求助是很不方便的
如果你想了解和學習更多的JAVA編程,成為一名真正的JAVA高手,你可以來這個裙,前面三個數是四二六 中間是三九六 後面是二八四
把這串數字連起來就可以了,這是一個高手的學習裙,在這里你可以學習到書上學不到的知識,還有大牛相互討論並指導你解答哦!
3.我這里要說就是這種方法啦.....
主要的流程:
A.用戶登錄前的數據流:用戶在沒有登錄系統的時候,對喜歡的商品進行添加購物車,那麼這個時候,我們可以把購物車信息保存
到cookie中,這里會涉及到cookie的添加,修改操作;也即如果之前在cookie中不存對應的cookie,則就對cookie進行添加操作。
如果在cookie中存在對應的cookie,那麼,這時候,就要對cookie進行修改操作了(這里涉及到用戶對同一個商品進行多次添加購物車的情況)。
B.用戶登錄後的數據流:用戶在登錄後,系統首先做的第一件事就是去獲取對應的cookies,如果存在相關的購物車cookies,那麼就對該購物車
信息進行相應用戶User的持久化操作,要麼添加,要麼修改。(添加操作:該用戶所對應的購物車如果沒有相應的信息進行添加操作;修改操作:類似的,
如果存在對應用戶的購物車信息,就進行修改操作)。用戶登錄後,也可以進行購物車的添加操作,不過,這里不是添加到cookie中,而是直接持久化到
資料庫中。註:用戶登錄後的數據都是和資料庫打交道。
===========================================
以上就是我的見解 如果有什麼不懂可以問我 想學習的童鞋秒懂 供參考 滿意請採納
Ⅱ java web購物車
首先你應該對java有個基礎的了解,什麼是變數,什麼事關鍵字。我先給你每行都注釋下
//公共的類,類名為ShopingServlet 繼承父類HttpServlet
public class ShopingServlet extends HttpServlet {
實現父類方法doGet 意識就是通過get請求的就會進入這個方法,下面還有一個doPost方法就是通過post方式請求的會進入doPost,至於這兩個的區別:doGet安全性差,參數是在瀏覽器連接中直接顯示,然而doPost就是不會顯示的安全性要高,這也是最直觀的區別
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//通過request獲取session
HttpSession session=request.getSession();
//獲取參數為id的值
String id=request.getParameter("id");
//判斷id的值是否為null
if(id!=null)
{
//id不為空進入這裡面,在獲取參數為book的值,book的值為數組類型
Book[]book=(Book[])session.getAttribute("book");
在判斷book是否為null
if(book!=null)
{
//部位空進入,進行循環
for(int i=0;i<book.length;i++)
{
//判斷book數組中的第i個的BookId是否和之前的參數Id相同
if(book[i].getBookId().equals(id))
{
//相同,就把book數組中的第i個的id賦值為空
book[i].setid();
}
}
把當前book存入session中,變數名為book
session.setAttribute("book", book);
}
}
//跳轉到頁面/test4E/Shopping.jsp
response.sendRedirect("/test4E/Shopping.jsp");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//調用上面的doGet方法
doGet(request,response);
}
}
下面的代碼和這個是重復的,不知道為什麼你要發布兩遍,你可以對比一下
Ⅲ 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"); }
Ⅳ javaweb開發 在購物車實現的問題
第3中比較好。第一種,javaweb本身在cookie中存放復雜對象就很麻煩,讀寫量大。第二種,客戶下內線sesson一般就會容被移除,這樣用戶下次登陸時就沒有之前購物車信息了。第3中,可以避免上面的不足
Ⅳ java購物車用servlet做,sql資料庫,能實現基本增加、刪除、修改商品,結賬,然後下訂單,求源代碼
加入購物車的代碼:
//把商品保存到session中
HttpSession session=request.getSession();
List<Goods> list=(List) session.getAttribute("list");
int gid=Integer.parseInt(request.getParameter("gid"));
int num=Integer.parseInt(request.getParameter("num"));
Goods goods=null;
if(list==null || list.size()<0){
list=new ArrayList();
}else{
for (Goods g : list) {
if(g.getGid()==gid){
goods=g;
g.setSum(g.getSum()+num);
break;
}
}
}
if(goods==null){
goods=goodsDao.queryGoodsByG_id(gid);
goods.setSum(num);
list.add(goods);
}
session.setAttribute("list", list);
request.getRequestDispatcher("/index.jsp").forward(request, response);
增加、刪除、修改商品差不多,只是sql語句不同
Ⅵ javascript+jsp實現在1.html把商品放購物車,在2.html顯示購物車內的信息.看問題補充
不建議用cookie, 不安全,而且瀏覽器可能禁止cookie
還是把購買信息保存到伺服器session中, 在2.html顯示
Ⅶ java web網上商城購物系統 他們背後添加商品或修改商品信息是怎樣做的呢
這需要做後台服務系統,購物系統許多都是分前台和後台的,,前台基本上版是做顯示物品信息,用權戶提交訂單等,,後台做物品信息的增刪改查,前台頁面的顯示屬性等等,,,我就是做的網上購書系統,,為畢業設計,,嘻嘻:-D
Ⅷ 如何將收藏夾里的商品添加到購物車
您可以對購物車上的商品輕松進行以下操作: A、 查看商品信息:點擊商品名或商品圖片版,您可進入商權品頁面了解商品詳細信息。 B、 逛逛賣家店鋪:點擊賣家昵稱可進入賣家店鋪,找找還有哪些商品值得一次合買,這樣大多數賣家都會給你一個郵費優惠。 如何要賣家快速給我修改商品價格? C、 移出購物車:當商品已下架或您確定不需購買時您可選擇將商品在購物車上刪除。 D、 移至收藏夾:如果您暫時不想購買商品,但需要關注該商品,可以點擊「移至收藏夾」將該商品加入收藏夾加以關注,並在購物車上刪除該商品。 E、 清空購物車:如果您購物車上的商品均已下架,或您確定不需購買購物車上的商品,您可以點擊「清空購物車」把上面的商品全部刪除。 F、 現在去付款:如果您確定購物車上都是本次需要購買的商品,您可以輸入驗證碼後點擊「現在去付款」完成結算。
Ⅸ JAVA SQL問題 購物車 把商品加入購物車使用什麼方法
再加一個表格列:是否已加入購物車
點擊按鈕後,進行入庫操作,insert語句
不行,這樣的話內,只能加,不能容減
你應該在每行添加一個checkbox復選框
勾選了,就代表入庫了,取消了就delete
對,就是這樣
Ⅹ java購物車 添加相同商品時怎麼自動累加
實現方法就是定義一個購物車的map,商品id作為key,商品價格作為value,每次添加購物車,判斷如果是相同的key,那麼就累加value的值。
import java.util.Map;
import java.util.HashMap;
public class MapText
{
private Object k ;
Map<Object, Double> map = new HashMap<Object, Double>();
private Double ks = 0.0;
public void testmap()
{
map.put("diyige", 10.0);
map.put("dierge", 100.0);
map.put("disange", 1000.0);
map.put("disige", 10000.0);
map.put("diwuge", 100000.0);// for (int i = map.size() - 1; i > 0; i--)
// {
for (Map.Entry<Object, Double> entry : map.entrySet())
{
System.out.println(entry.getKey() + ">>>>>>>>>>>>>"
+ entry.getValue()); ks = entry.getValue() + ks;
}
System.out.println(ks);
// } System.out.println(ks);
} /**
* @param args
*/
public static void main(String[] args)
{
MapText t = new MapText();
t.testmap(); }
}