開心購物網購物車系統項目設計說明

注:這是我 Web 程序設計的作業,並不是一個實際項目。建議查看 PDF 版本的項目設計說明,可以在這裡下載

開心購物網購物車系統項目設計說明

基本思路

根據實驗要求,本項目整體上採用 XHTML 1.0, CSS3, JSP, Servlet, JavaBean, XML, Javascript, JQuery技術實現。主要從以下幾個技術層面去實現。

在數據層面,採用 XML 存儲書籍的信息。利用 Javascript、JQuery和Ajax技術在html頁面動態加載XML文檔顯示書籍的信息,並將信息通過隱藏表單(hidden input)提交給購物車處理程序(ShowCartInf.jsp)。

對於用戶生成的信息,使用 application 內置對象存儲註冊的賬戶信息、購物車、留言信息,以便實現多用戶登錄、購買和留言。使用 Session 存儲登錄次數信息。由於 Session 綁定到單一的客戶端用戶,因此使用這種方法可以保證在禁止超過指定次數登錄的前提下,不影響其它用戶的登錄和使用。當然,使用這種方法時,用戶是可以通過清除 cookie 信息使 Session ID 失效來逃避的。在一定程度上,這為用戶猜測密碼和暴力破解留下了隱患。該項目未在此處進行改進。

對用戶的呈現採用了 XHTML 1.0 版本進行繪製,為了更好的進行內容與樣式的分離,軟件採用了 CSS3 控制顯示樣式,該樣式分為全站樣式(main.css)和分離樣式(每個頁面html / body / style 節點的嵌入樣式),其中後者的優先級高於前者。

數據校驗採用 Javascript 和 JQuery 框架共同完成,以便減輕服務器端的負擔。但由於客戶端腳本可以很輕易地被用戶修改或忽略,因此通過客戶端驗證的模式進行表單驗證是不可靠的,本項目考慮時間問題並沒有對此作出修改,但在實際項目中,服務器端驗證是必不可少的一環。

與此同時,為了使CSS3效果兼容Microsoft Internet Explorer 瀏覽器,採用PIE使IE模擬出了CSS3中的效果。在此對PIE的提供者表示感謝 (http://css3pie.com/)。    在數據的抽象方面,本項目採用 JavaBean 的理念,將用戶信息、書籍信息、訂購信息等內容抽象為類,存儲在 JSP 的 application 中。在這種方式下,如果服務器端重新啟動,用戶將丟失全部數據。在實際商用中,應該將數據存儲在數據庫而不是 application 中。

本項目在 Linux / Ubuntu 10.10 x86平臺,Tomcat 7.0  for Linux環境下測試通過。

文件列表

項目的主要文件及其描述如下。

文件名 描述

Book.java Application 域的JavaBean 數據封裝類

BookOrder.java Application 域的JavaBean 數據封裝類

BookOrders.java Application 域的JavaBean 數據封裝類

WebUser.java Application 域的JavaBean 數據封裝類

WebUsers.java Application 域的JavaBean 數據封裝類

books.xml 書籍存儲

books.xsd 書籍XML的架構驗證

checkUser.jsp 嵌入需要的JSP頁面中完成用戶是否登錄的驗證,並在需要時使用服務器端轉向要求用戶登錄

Comment.java Application 域的JavaBean 數據封裝類

Comments.java Application 域的JavaBean 數據封裝類

comments.jsp 顯示和添加用戶的留言

delete.jsp 刪除訂購的書籍

doLogin.jsp 執行用戶登錄的處理,主要是 Session 判斷、用戶合法性驗證和超過三次登錄的禁止

doReg.jsp 在 application 域中註冊用戶

jQuery.min.js JQuery 框架

LICENSE 許可協議

loginError.html/jsp 登錄時錯誤處理

login.html 登錄頁面

logout.jsp 註銷登錄(懸浮頁面;沒有顯式的引用鏈接)

main.css 主 CSS 樣式表

order.html 訂單信息填寫頁面

order.jsp 訂單信息確認頁面

regError.html 註冊錯誤處理頁面

reg.html 註冊頁面

ShowCartInf.jsp 購物車顯示及更新

show.html 書籍列表頁面;留言入口

WEB-INF Web 配置文件及 bean 類庫

WebUser.java Application 域的JavaBean 數據封裝類

WebUsers.java Application 域的JavaBean 數據封裝類

備註

本項目在 Linux / Ubuntu 10.10 中編輯,由於採用了Unix 風格編輯器,因此在 Windows 下一些編輯器打開可能出現編碼或換行符的異常。

許可協議

該項目採用 Apache License Version 2.0 許可協議發佈。該項目引用了 CSS3PIE 的部分代碼,其也是通過 Apache License Version 2.0 協議發佈的。

Licensed under the Apache License, Version 2.0 (the “License”);

you may not use this file except in compliance with the License.You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an “AS IS” BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.

源代碼

下載

当前页阅读量为: