A. javaweb開發 在購物車實現的問題
第3中比較好。第一種,javaweb本身在cookie中存放復雜對象就很麻煩,讀寫量大。第二種,客戶下內線sesson一般就會容被移除,這樣用戶下次登陸時就沒有之前購物車信息了。第3中,可以避免上面的不足
B. 最近老師叫我們用java web 搞一個購物車,但我的思路很亂,誰能幫我理清一下的啊
這在考慮你在項目管理級別的能力,以及產品設計級別的能力
1)首先你要考慮你要做的購物車涉及到哪些人員使用,這樣你可以定出使用人員,譬如管理人員他們負責發布產品,而另一類人群就是購買者。
2)第二你要考慮購物車都會涉及到哪些功能,如產品發布,產品購買,產品結算,報表等等,把功能拆分細分至模塊。
3)第三你要考慮各個功能的規則都是怎麼樣的,比如產品發布首先要選擇產品類別,找到產品類別後你要填寫描述,不能重復發送多個相同名稱的產品等等,這個規則你可以來定,因為畢竟沒有明確的需求前,所有的設計都是依靠規則來完成的,如果有需求的話,需求會提供相應明確的規則來輔助你的設計,請羅列出該功能的「要點」,所謂要點就是需要設計時候注意的嚴重或者需要考慮的。
4)第四你需要整理出哪些功能,應該由什麼人可以用操作,這就是角色的控制。
5)第五你要考慮整個流程上的不足,建議你把自己模擬成為一名購買者或者你是一名產品管理員應該怎樣做日常的工作來完成你所有的購買及產品發布工作,如果在第二點羅列的不全面,可以對第二點進行補充,然後往返第二步至第五部的思考中,直到你作為一名購買者及一個管理者能夠完成整個正常流程。
6)就是要找出對應功能中的實體用於設計庫表。
7)進行反例思考,考慮設計庫表中的缺陷
8)實現編碼。
9)其他(不屬於設計期不做解釋)
之所以你能問這個問題是說明你考慮到代碼細節中去了,缺少整體流程上的把控,建議以上步驟用筆一步一步的在紙上實現,如果你到第五步能夠畫出整個購買或者發布的功能流程圖說明該項目已經可以滿足了,最後的設計和編碼問題,不好意思只能去啃代碼和去「取經」了。希望以上思考方式對你有所幫助,給好評哦親!
C. (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!~
D. 各位java web大神,求幫忙看個超小的demo,實現一個簡單的購物車功能,出現了很讓人費解的問題,不看後悔
我運行了你的代碼獲取到的是同一個session啊,沒問題啊
E. 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"); }
F. web前端購物車功能實現
其實思路都是很簡單的,如果你要純前端的實現,那用Javascript或者jquery就可以做了,如果想前後端聯動,那麼具體數據操作你就提交到後台,然後後台重新返回頁面就可以了
G. 誰有java web開發實戰1200例第23章綜合運用那章,有購物車和聊天室的例子。那一章的源碼,跪求
我好像有,你等下,我找找看哈!!!
H. Java Web典型模塊與項目實戰大全的目錄
第1篇 開發工具及框架概述
第1章 開發前奏
教學視頻:25分鍾
1.1.1 JavaWeb應用概述
1.1.1 JavaWeb應用程序基礎:HTTP協議
1.1.2 Java.Web容器(Servlet+JavaBean+JSP)
1.1.3 兩種模式:Modell模式和Model2模式
1.1.4 MVC設計思想
1.2 配置開發環境
1.2.1 下載工具包JDK
1.2.2 安裝工具包JDK
1.2.3 下載伺服器Tomcat
1.2.4 安裝伺服器Tomcat
1.2.5 下載開發環境MyEclipse
1.2.6 安裝開發環境MyEclipse
1.2.7 下載資料庫伺服器』MySQ[
1.2.8 安裝資料庫伺服器MySO[
1.2.9 下載資料庫伺服器Oracle
1.2.1 0安裝資料庫伺服器Oracle
1.2.1 1安裝資料庫伺服器Oracle客戶端
1.3 基礎技術簡單簡介
1.3.1 Servlet伺服器端編程
1.3.2 關於SetMet程序的編寫
1.3.3.JSP主流網站開發技術
1.3.4.JSP的一些基本語法
1.3.5 JavaBean組件技術
1.3.6 JavaBean的屬性——簡單屬性
1.3.7 JavaBean的屬性——復雜屬性
1.4 核心框架初步認識
1.4.1 實現了MVC模式的Structs框架
1.4.2 無侵入性的SprJng框架
1.4.3 簡單靈活的Guice框架
1.4.4 實現持久化的Hibernate框架
1.4.5 實現JPQL語言的.IPA框架
1.4.6 實現數據映射器的iBATIS框架
1.4.7 用於開發伺服器端用戶界面的JSF框架
I.4.8 實現了非同步交換的AJAX框架
1.5 小結
第2章 MyEclipSO開發工具對各種框架的支持:
教學視頻:51分鍾
2.1 使用JSP的兩種模式
2.1.1 開發環境MyEclipse對模式1的支持
2.1.2 開發環境MyEclipse對模式2的支持
2.2 Struts框架的實現
2.2.1 下載和分析Strutits1.x框架包
2.2.2 用MyEclipse實現Struts1.x框架環境
2.2.3 用.MyEclipse實現Struts1.x項目
2.2.4 分析Struts1.x框架
2.2.5 用MyEclipse實現Struts2.x框架環境
2.2.6 用MyEclipse實現Struts2.x項目
2.2.7 分析Struts2.x框架
2.3 Hibernate框架的實現
2.3.1 下載和了解Hibernate框架
2.3.2 用MyEclipse實現Hibernate框架環境
2.3.3 MyEclipse對Hibernate框架支持——關系資料庫到對象映射
2.3.4 Hibernate框架中經常用到的工具類
2.4.IPA框架的實現
2.4.1 用MyEclipse實現.JPA框架環境
2.4.2 MyEclipse對JPA框架支持——添加實體
2.4.3 MyEclipse對JPA框架支持——單個類轉成JPA實體
2.5 Spring框架的實現
2.5.1 用MyEclipse實現Spring框架環境
2.5.2 用MyEclipse實現Spring項目
2.5.3 MyEclipse對Spring框架方面的支持
2.6.JSF框架的實現
2.6.1 用MyEclipse實現JSF框架環境
2.6.2 用MyEclipse實現.JSF框架項目
2.7 AJAX框架的實現.
2.7.1 用MyEclipse實現AJAX
2.7.2 分析AJAX技術
2.8 使用JDBC連接資料庫
2.8.1 JDBC的基本概念
2.8.2 JDBC的基本步驟
2.9 小結
第3章 實現各種框架的集成
教學視頻:54分鍾
3.1 Spring框架與其他框架的集成原理
3.1.1 依賴查找方式實現spmg與struts集成
3.1.2 Action注入方式實現Spring與Struts集成
3.1.3 Spring集成Hibemate——事務代理功能
3.2 實現sSH三種框架環境集成
3.2.1 配置資料庫字元集體
3.2.2 集成Hibernate
3.2.3 集成Spring框架
3.2.4 集成Struts1.x框架
3.3 實現Spring與struts2.x集成
3.3.1 關於spring框架的插件
3.3.2 Spring與snuts2.x框架集成
3.4 實現Spring、sla'uts2.x和Hibernate框架集成
3.4.1 Hibernate與Struts2.x框架集成
3.4.2 Struts2.x和JPA框架集成
3.4.3 Struts2.x、Spring和Hibemate框架集成
3.5 小結
第2篇 典型模塊開發
第4章 在線文本編輯器(FCKeditor)
教學視頻:14分鍾
4.1 分析FCKeditor在線文本編輯器
4.1.1 FCKeditor在線文本編輯器功能描述
4.1.2 下載FCKeditor在線文本編輯器相關軟體
4.1.3 FCKeditor在線文本編輯器目錄簡介和開發文檔
4.2 FCKed.itor在線文本編輯器初級應用
4.2.1 利用JavaScript語言調用FCKeditor在線文本編輯器
4.2.2 利用JSP標簽調用FCKeditor在線文本編輯器
4.3 FCKedicor在線文本編輯器常用配置
4.3.1 修改配置文件
4.3.2 自定義工具欄
4.3.3 設置常用的字體和鍵行為
4.3.4 修改插入表情圖標
4.4 FCKeditor在線文本編輯器高級應用
4.4.1 FCKeditor在線文本編輯器上傳文件配置
4.4.2 FCKeditor在線文本編輯器上傳文件配置——中文亂碼(一)
4.4.3 FCKeditor在線文本編輯器上傳文件配置——中文亂碼(二)
4.4.4 FCKeditor在線文本編輯器配置上傳文件類型
4.5 小結
第5章 驗證模塊(JSP+Serylet+JSValldation)
教學視頻:48分鍾
5.1 表單基礎
5.1.1 表單的基礎內容
5.1.2 表單必備功能
5.1.3 表單功能具體實現
5.2 客戶端表單驗證框架
5.2.1 下載客戶端表單驗證框架(JSValidation)
5.2.2 JSValidation表單驗證框架使用
5.3 伺服器端驗證
5.3.1 校驗輸入字元工具類
5.3.2 處理輸入字元類
5.4 實現圖形驗證碼
5.4.1 為什麼要使用驗證碼技術
5.4.2 圖形驗證碼的具體實現
5.5 避免重復提交功能
5.5.1 客戶端避免重復提交
5.5.2 伺服器端避免重復提交
5.6 縮略加水印圖像
5.6.1 縮略加水印圖像應用框架分析
5.6.2 實現縮略加水印工具類
5.6.3 對圖像實現縮略加水印
5.7 小結
第6章 網路硬碟(JSP+Servlet)
教學視頻:27分鍾
6.1 網路硬碟功能原理
6.1.1 網路硬碟框架分析
6.1.2 網路硬碟功能描述
6.2 網路硬碟功能具體實現——瀏覽磁碟和顯示文件信息
6.2.1 實現相關工具類
6.2.2 瀏覽磁碟
6.2.3 瀏覽磁碟里的文件夾和文件
6.2.4 顯示文件夾和文件的內容
6.3 網路硬碟功能具體實現——操作文件夾和文件
6.3.1 刪除文件夾和文件
6.3.2 查找文件夾和文件
……
第7章 網站統計模塊(JSP+Servlet)
第8章 網路購物車(JSP+Servlet+JavaBean)
第9章 搜索索引(Lucene+Web Spider)
第10章 在線網上支付(JSP+Swrvlet+JavaBean)
第11章 JavaWeb郵件發送系統(JSP+Servlet+JavaBean)
第12章 網路留言板(JSP+Servlet+JavaBean)
第13章 網路留言板續——Oracle資料庫
第14章 AJAX技術JQuery框架的經典應用
第15章 在線文件上傳和下載(Struts 2.X+FileUpload)
第16章 網上投票系統(Struts2.X+JFreeChat)
第17章 商業銀行網上賬戶管理系統(Struts2.X)
第18章 Hibernate分頁系統(Hibernate3.0)
第19章 生成報表(Struts 2.X+Hibernate+JXL)
第20章 數據格式轉換(Struts 2.X+Hibernate+Dom4j)
第21章 用戶維護功能(Struts 2.X+iBATIS)
第22章 用戶登錄模塊(Struts 2.X+Guice+國際化)
第3篇 項目案例實戰
第23章 在線音樂管理系統(AJAX+JSP+Struts 2.X)
第24章 數據匯聚系統(Struts 2.X+Spring+iBATIS)
第25章 投票管理系統(Struts 2.X+Spring+Hibernate)
第26章 許可權管理系統(Struts 2.X+Spring+JPA)
第27章 商業銀行設備巡檢系統(Struts 2.X+Spring+Hibernate)
I. JavaWeb開發中,怎麼根據用戶來實現單個的購物車,小白入門,請指教。能附上源碼跟容易理解謝謝!
1、這個如果連抄資料庫就很簡襲單了,cart資料庫,首先有id,proctID,然後userid,就是買家的id,然後PublishID,視為賣家id,其他的數據從proct表裡面讀,避免了重復存。
2、如果單純的起步學習,我還記得我小時候,老師講用session,用戶進入系統後如果要登錄就用用戶id去存session,不登錄就隨即生成一個id存session,購物車就根據用戶id讀session數據。