java web實(shí)現(xiàn)網(wǎng)上手機(jī)銷(xiāo)售系統(tǒng)
本文實(shí)例為大家分享了java web實(shí)現(xiàn)網(wǎng)上手機(jī)銷(xiāo)售系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
前言
今天學(xué)長(zhǎng)向大家分享一個(gè) java web 畢業(yè)設(shè)計(jì)項(xiàng)目:
基于java web的網(wǎng)上手機(jī)銷(xiāo)售系統(tǒng)
一、項(xiàng)目設(shè)計(jì)
1. 模塊設(shè)計(jì)
業(yè)務(wù)流設(shè)計(jì)
前臺(tái)模塊設(shè)計(jì)
(1)商品展臺(tái)模塊:通過(guò)新品上架,分頁(yè)顯示特價(jià)商品,商品銷(xiāo)售排行展示網(wǎng)站的所有商品;
(2)商品查詢(xún)模塊:按商品的類(lèi)別查詢(xún)商品的相關(guān)信息;
(3)購(gòu)物車(chē)模塊:用戶(hù)添加商品至購(gòu)物車(chē),查看購(gòu)物車(chē)中的商品,從購(gòu)物車(chē)中移除不滿(mǎn)意的商品,清空購(gòu)物車(chē)中的產(chǎn)品,修改所要購(gòu)買(mǎi)的商品的數(shù)量;
(4)收銀臺(tái)模塊:用戶(hù)滿(mǎn)意購(gòu)物車(chē)中的產(chǎn)品后進(jìn)行結(jié)賬并填寫(xiě)訂單信息;
(5)用戶(hù)維護(hù)模塊:為用戶(hù)提供了用戶(hù)注冊(cè)、用戶(hù)登錄、用戶(hù)資料修改以及找回密碼的功能;
(6)訂單查詢(xún)模塊:用戶(hù)通過(guò)查看訂單能夠了解到自己的當(dāng)前訂單信息及歷史訂單記錄;
(7)公告瀏覽模塊:用戶(hù)通過(guò)瀏覽公告信息,能夠及時(shí)了解到網(wǎng)站最新的各種信息。
(8)留言模塊:客戶(hù)可以進(jìn)行留言給我們提意見(jiàn),我們?cè)诓粩嗟馗倪M(jìn)中前進(jìn)。
后臺(tái)系統(tǒng)功能模塊
(1)商品管理模塊:按類(lèi)別查看商品,對(duì)商品的信息進(jìn)行維護(hù);
(2)用戶(hù)管理模塊:為了保護(hù)用戶(hù)的信息,此模塊與前臺(tái)用戶(hù)維護(hù)的區(qū)別是管理員只能查看用戶(hù)信息和刪除操作;
(3)管理員維護(hù)模塊:這是對(duì)管理員的信息進(jìn)行維護(hù),可以修改管理員的信息。
(4)訂單管理模塊:管理員查詢(xún)訂單,查看訂單詳細(xì)信息,刪除訂單信息,進(jìn)行訂單受理;
(5)公告管理模塊:管理員公告瀏覽,公告信息維護(hù);
(6)留言模塊:管理員可以查看客戶(hù)的留言,對(duì)留言進(jìn)行維護(hù)。
2. 實(shí)現(xiàn)效果
二、部分源碼
源碼較多,文章篇幅有限,這里就不放上來(lái)了,僅展示小部分關(guān)鍵代碼
部分代碼示例:
購(gòu)物車(chē)核心代碼
在userAction中:
public String userLogin() { String sql="from TUser where userName=? and userPw=?"; Object[] con={userName,userPw}; List userList=userDAO.getHibernateTemplate().find(sql,con); if(userList.size()==0) { this.setMessage("用戶(hù)名或密碼錯(cuò)誤"); this.setPath("qiantai/index.html"); } else { Map session= ServletActionContext.getContext().getSession(); TUser user=(TUser)userList.get(0); session.put("user", user); Cart cart=new Cart(); //用戶(hù)登陸成功后生成購(gòu)物車(chē),并將其放入到session中。 session.put("cart", cart); this.setMessage("成功登錄"); this.setPath("qiantai/index.html"); } return "succeed"; }
在buyAction中:
public String addToCart() { TGoods goods=goodsDAO.findById(goodsId); TOrderItem orderItem=new TOrderItem(); orderItem.setGoods(goods); orderItem.setGoodsQuantity(quantity); Map session= ServletActionContext.getContext().getSession(); Cart cart = (Cart)session.get("cart"); //將session中的cart取出,也就是上邊存儲(chǔ)在session中的cart cart.addGoods(goodsId, orderItem); session.put("cart",cart); //再把cart放入session //this.setMessage(""); this.setPath("myCart.action"); return "succeed"; } public String myCart() //獲取我的購(gòu)物車(chē) { return ActionSupport.SUCCESS; } public String orderQueren() //確認(rèn)提交訂單 { Map request=(Map)ServletActionContext.getContext().get("request"); return ActionSupport.SUCCESS; } public String orderSubmit() //訂單提交 { Map session= ServletActionContext.getContext().getSession(); Cart cart = (Cart)session.get("cart"); //將cart取出 TUser user=(TUser)session.get("user"); //將用戶(hù)取出 TOrder order=new TOrder(); order.setOrderBianhao(new SimpleDateFormat("yyyyMMddhhmmss").format(new Date())); //設(shè)定訂單編號(hào) order.setOrderDate(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())); //確認(rèn)訂單的日期 order.setOrderZhuangtai("no"); //訂單狀態(tài)默認(rèn)為未受理 order.setOrderUserId(user.getUserId()); //設(shè)定訂單的用戶(hù)ID order.setOrderJine(cart.getTotalPrice()); //商品的價(jià)格 orderDAO.save(order); //保存訂單 for (Iterator it = cart.getItems().values().iterator(); it.hasNext();) //把訂單里的商品存入數(shù)據(jù)庫(kù) { TOrderItem orderItem = (TOrderItem) it.next(); orderItem.setOrderId(order.getOrderId()); orderItem.setGoodsId(orderItem.getGoods().getGoodsId()); orderItemDAO.save(orderItem); } cart.getItems().clear(); //清空購(gòu)物車(chē) session.put("cart", cart); Map request=(Map)ServletActionContext.getContext().get("request"); request.put("order", order); return ActionSupport.SUCCESS; } Public String myOrder() //根據(jù)用戶(hù)查詢(xún)訂單 { Map session= ServletActionContext.getContext().getSession(); TUser user=(TUser)session.get("user"); //獲取用戶(hù) String sql="from TOrder where orderUserId="+user.getUserId(); List orderList=orderDAO.getHibernateTemplate().find(sql); //調(diào)用orderDAO中的find方法,執(zhí)行sql語(yǔ)句 Map request=(Map)ServletActionContext.getContext().get("request"); request.put("orderList", orderList); return ActionSupport.SUCCESS; } public String orderMana() //訂單管理 { String sql="from TOrder order by orderUserId"; List orderList=orderDAO.getHibernateTemplate().find(sql); Map request=(Map)ServletActionContext.getContext().get("request"); request.put("orderList", orderList); return ActionSupport.SUCCESS; } Public String orderDel() //用戶(hù)自己刪除訂單 { TOrder order=orderDAO.findById(orderId); orderDAO.delete(order); Map session= ServletActionContext.getContext().getSession(); TUser user=(TUser)session.get("user"); this.setMessage("刪除成功"); this.setPath("myOrder.action?userId="+user.getUserId()); //跳轉(zhuǎn)到 myOrder.action return "succeed"; } public String orderDelByAd() //管理員刪除訂單 { TOrder order=orderDAO.findById(orderId); orderDAO.delete(order); String sql="delete from TOrderItem where orderId="+orderId; orderItemDAO.getHibernateTemplate().bulkUpdate(sql); this.setMessage("刪除成功"); this.setPath("orderMana.action"); return "succeed"; } public String orderShouli() //對(duì)訂單進(jìn)行受理 { TOrder order=orderDAO.findById(orderId); order.setOrderZhuangtai("yes");//已經(jīng)受理訂單 orderDAO.attachDirty(order); this.setMessage("受理訂單成功"); this.setPath("orderMana.action"); return "succeed"; } public String orderDetail() //訂單明細(xì) { String sql="from TOrderItem where orderId="+orderId; List orderItemList=orderItemDAO.getHibernateTemplate().find(sql); for(int i=0;i<orderItemList.size();i++) { TOrderItem orderItem=(TOrderItem)orderItemList.get(i); orderItem.setGoods(goodsDAO.findById(orderItem.getGoodsId())); } //取出訂單里的商品 Map request=(Map)ServletActionContext.getContext().get("request"); request.put("orderItemList", orderItemList); return ActionSupport.SUCCESS; }
在cart.java中
package com.util; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import com.model.TGoods; import com.model.TOrderItem; public class Cart //定義購(gòu)物車(chē)類(lèi) { protected Map<Integer, TOrderItem> items; public Cart() //定義構(gòu)造方法 { if (items == null) { items = new HashMap<Integer, TOrderItem>(); } } public void addGoods(Integer goodsId, TOrderItem orderItem) //添加購(gòu)物車(chē) { if (items.containsKey(goodsId)) { TOrderItem _orderitem = items.get(goodsId); _orderitem.setGoodsQuantity(_orderitem.getGoodsQuantity()+ orderItem.getGoodsQuantity()); //如果購(gòu)買(mǎi)商品重復(fù),則加上數(shù)量 items.put(goodsId, _orderitem); } else { items.put(goodsId, orderItem); } } Public void delGoods(Integer goodsId) //刪除購(gòu)物車(chē) { items.remove(goodsId); } public void updateCart(Integer goodsId, int quantity) //更新購(gòu)物車(chē)的數(shù)量 { TOrderItem orderItem = items.get(goodsId); orderItem.setGoodsQuantity(quantity); items.put(goodsId, orderItem); } public int getTotalPrice() //計(jì)算總的價(jià)格 { int totalPrice = 0; for (Iterator it = items.values().iterator(); it.hasNext();) { TOrderItem orderItem = (TOrderItem) it.next(); TGoods goods = orderItem.getGoods(); int quantity = orderItem.getGoodsQuantity(); totalPrice += goods.getGoodsTejia() * quantity; //單價(jià)乘以數(shù)量 } return totalPrice; } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- java實(shí)現(xiàn)鮮花銷(xiāo)售系統(tǒng)
- Java 實(shí)戰(zhàn)練手項(xiàng)目之校園超市管理系統(tǒng)的實(shí)現(xiàn)流程
- Java 實(shí)戰(zhàn)項(xiàng)目之在線(xiàn)點(diǎn)餐系統(tǒng)的實(shí)現(xiàn)流程
- Java 實(shí)戰(zhàn)范例之員工管理系統(tǒng)的實(shí)現(xiàn)
- Java 實(shí)戰(zhàn)范例之進(jìn)銷(xiāo)存管理系統(tǒng)的實(shí)現(xiàn)
- Java 實(shí)戰(zhàn)范例之線(xiàn)上婚紗攝影預(yù)定系統(tǒng)的實(shí)現(xiàn)
- Java 實(shí)戰(zhàn)項(xiàng)目之精美物流管理系統(tǒng)的實(shí)現(xiàn)流程
相關(guān)文章
springboot實(shí)現(xiàn)郵箱發(fā)送(激活碼)功能的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用springboot實(shí)現(xiàn)郵箱發(fā)送(激活碼)功能,文中的示例代碼簡(jiǎn)潔易懂,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10java線(xiàn)程之用Thread類(lèi)創(chuàng)建線(xiàn)程的方法
本篇文章介紹了,Thread類(lèi)創(chuàng)建線(xiàn)程的方法。需要的朋友參考下2013-05-05idea集成shell運(yùn)行環(huán)境以及shell輸出中文亂碼的解決
這篇文章主要介紹了idea集成shell運(yùn)行環(huán)境以及shell輸出中文亂碼的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08JAVA正則表達(dá)式過(guò)濾文件的實(shí)現(xiàn)方法
這篇文章主要介紹了JAVA正則表達(dá)式過(guò)濾文件的實(shí)現(xiàn)方法的相關(guān)資料,希望通過(guò)本文大家能夠掌握理解這部分內(nèi)容,需要的朋友可以參考下2017-09-09Java初級(jí)必看的數(shù)據(jù)類(lèi)型與常量變量知識(shí)點(diǎn)
這篇文章主要給大家介紹了關(guān)于Java初級(jí)必看的數(shù)據(jù)類(lèi)型與常量變量知識(shí)點(diǎn)的相關(guān)資料,需要的朋友可以參考下2023-11-11解決IDEA修改 .vmoptions 文件后導(dǎo)致無(wú)法啟動(dòng)的問(wèn)題
這篇文章主要介紹了解決IDEA修改 .vmoptions 文件后導(dǎo)致無(wú)法啟動(dòng)的問(wèn)題,需要的朋友可以參考下2020-12-12SpringMvc框架的簡(jiǎn)介與執(zhí)行流程詳解
MVC是一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個(gè)組件里面,在改進(jìn)和個(gè)性化定制界面及用戶(hù)交互的同時(shí),不需要重新編寫(xiě)業(yè)務(wù)邏輯,MVC分層有助于管理和架構(gòu)復(fù)雜的應(yīng)用程序2021-06-06