https://www.bilibili.com/video/BV1Ku4m1N7Be/演示視頻:
4系統實現過程(詳細設計)
4.1運行環境
4.1.1硬件環境
開發本系統時,本人所使用的電腦帶有酷睿i5的cpu,gtx 950m的顯卡,4G的運行內存,1T的機械硬盤。
4.1.2軟件環境
開發本系統時本人使用的是windows win8.1的操作系統,使用了MySQL數據庫管理工具,版本為5.0,JDK版本為1.8,開發工具為MyEclipse,版本為8.5,web容器使用的為MyEclipse自帶的tomcat。
4.2系統實現
4.2.1首頁設計展示
本網站使用css-div設計中的盒子模型,整體分為上中下三個模塊。上方為菜單欄,平鋪了本網站用戶使用過程中使用的主要功能按鈕,如用戶注冊按鈕、用戶查看信息按鈕、查看購物車按鈕除此以外,管理員登錄按鈕也安置在菜單欄上。菜單欄下方是一個輪播圖,展示了本網站一些圖書封面信息。頁面中間為在網站的主體部分,中間的左邊為圖書信息瀏覽頁面,展示了本網站的圖書封面信息,用戶登錄界面、圖書分類信息等界面處于中間右方位置。頁面下方為本網站制作單位的基本信息。
圖4-1 系統首頁
4.2.2用戶使用模塊的設計與實現
用戶信息的正確性和用戶購物的安全性是每一個網上商場必須保證的兩個方面,因此我們需要有效的驗證用戶的信息,對用戶信息進行有效的管理。這里將對用戶使用的基本功能的設計與實現進行詳細的介紹。
1.用戶注冊
(1)需要實現的功能
用戶在首頁點擊注冊之后,彈出web表單進行填寫,需要輸入用戶的個人信息,如用戶名,密碼等,這里主要驗證用戶的信息是否填寫完整,以及用戶的用戶名是否重復,用戶填寫完畢點擊確定按鈕上傳信息時,網站將會自動檢查對用戶提交的信息,如果不符合本系統規定填寫,將會給用戶反饋必要的提示,用戶可以重新填寫,而對于符合要求的信息也會提示用戶已經通過,顯示歡迎信息。
圖4-2 注冊頁面
(2)后臺實現:2.登錄驗證
(1)需要實現的功能
在本圖書商城購書過程中,用戶在瀏覽時不需要進行會員登錄,而在用戶需要購買圖書、查看個人信息時,系統提示需要登錄或注冊成為會員才可以繼續操作。界面的設計如圖4-3所示。
圖4-3 用戶登錄界面
(2)用戶登錄流程圖
用戶登錄的流程圖如圖4-4所示。
圖4-4 用戶登錄流程圖
3.用戶修改和注銷
(1)需要實現的功能
用戶登錄點擊修改信息按鈕可以看到自己之前填寫的所有的個人信息,可以根據頁面內容進行填寫修改。用戶在將自己要修改的內容填寫完畢后,點擊提交按鈕,完成修改操作。
s
圖4-5 用戶修改信息界面
用戶在商城首頁點擊注銷按鈕直接退出登錄而不用關閉窗口,這樣其他人使用電腦時就不會使用該賬號,保證了賬號的安全。
(2)后臺實現:
修改:根據session中的userid定位到該條用戶數據,使用dao層的attachDirty()方法更新輸入的用戶數據到數據庫。
退出:首先獲取整個頁面的session數據,然后將session中的名為user的數據刪除即可。
session.remove("user");
4.圖書信息展示
(1)需要實現的功能
本系統采用多種方式展示圖書。用戶首先可以在首頁的主頁面看到根據特價以及新品兩個種類為區分依據展示的圖書信息。其次,用戶可以在右側點擊圖書類別,根據圖書類別,如計算機類圖書查找到該類別的圖書,將該類別的圖書進行展示,然后用戶還可以根據搜索欄進行搜索圖書查找,展示該圖書信息,Zui后首頁還有銷售排行菜單,根據銷售排行進行圖書展示。以圖書種類為例,界面如圖4-6所示。
圖4-6 圖書種類展示圖書頁面購物車
(1)需要實現的功能
用戶可以將任意數量的圖書加入到購物車中,同一本圖書加入后數量疊加而不是重復出現,在購物車頁面用戶可以將自己不需要的圖書進行刪除,點擊下一步按鈕可以跳轉到收銀臺頁面。
(2)購物車流程圖
圖4-7收銀臺流程圖
6.收銀臺
(1)需要實現的功能
用戶可以將任意數量的圖書加入到購物車中,同一本圖書加入后數量疊加而不是重復出現,在購物車頁面用戶可以將自己不需要的圖書進行刪除,點擊下一步按鈕可以跳轉到收銀臺頁面。
圖4-8 收銀臺頁面
(2)后臺實現
首先獲取到該會話的Session從中獲取cart和user屬性,將訂單數據表中所需要的數據添加到order實體對象中,例如訂單編號、訂單時間等,其中訂單時間獲取系統時間系統自動設置,訂單狀態默認為未受理狀態,訂單用戶id為獲取到的session中的user的id屬性。再將購物車中的圖書數據填入orderitem數據表中,之后將cart中的信息清除后再添加回本次session中,將order通過request返回到頁面中。
7.查看訂單
(1)需要實現的功能
用戶在結賬后可以返回首頁點擊查看訂單按鈕看到之前產生的所有的購買信息,如訂單編號、訂單金額、下單日期等,點擊右邊的查詢按鈕,可以看到更為詳細的信息,同時可以點擊刪除記錄將該條記錄刪除,該界面如圖4-9所示。
圖4-9 查看訂單
(2)后臺實現
首先獲得本次會話的session,根據該session獲取user,使用String sql="from TOrder where orderUserId="+user.getUserId()語句根據獲取到的User的Id屬性查詢到當前用戶的所有訂單,再將該條數據返回到前臺myOrder.jsp頁面中。
8.留言
(1)需要實現的功能
登錄過后的用戶可以通過點擊上方菜單欄中的我要留言按鈕跳轉到留言頁面編輯留言,點擊發布按鈕后發布到系統中,可以根據自身情況對該系統提出意見。未登錄的用戶點擊按鈕后提示未登錄信息。界面設計如圖4-10所示。
圖4-10 用戶留言頁面
(2)后臺實現:
通過查詢用戶名是否存在在Session中來查詢用戶是否已經登錄,如果已經登錄用戶就可以留言。如果沒有登錄,用戶只有登錄之后才可以進行留言,反之則跳轉到留言界面。用戶在編輯留言時,留言人顯示session中的用戶名,留言時間為系統獲取的當前時間,用戶填寫完自己需要填寫或者系統必須要求填寫的內容后,系統將記錄下該條留言,當用戶再次點擊我要留言時可以查看留言,使用List liuyanList=liuyanDAO.findAll()方法將留言數據放入list集合中,顯示出該留言信息到liuyanAll.jsp中。
9.公告瀏覽
(1)需要實現的功能
首頁顯示公告的簡要信息,用戶可以通過點擊特定某條公告進入該公告的詳細信息頁面。
圖4-11用戶瀏覽公告詳細信息頁面
(2)后臺實現
首先管理員發布公告,將公告內容存入數據庫中,在用戶點擊該條公告信息后,使用List gonggaoList=gonggaoDAO.findAll();方法將數據庫中存儲的公告數據存入list集合,通過將該List集合傳遞給頁面使用標簽將該list輸出,顯示公告信息。
4.2.3管理員管理模塊的設計與實現
1.管理員登陸
(1)需要實現的功能
首頁點擊管理員登錄按鈕跳轉到管理員登錄界面,輸入用戶名密碼比對數據庫中的信息,若信息正確則跳轉到管理員管理界面,反之則提示錯誤。
圖4-12 管理員登錄界面
(2)管理員登錄流程圖
圖4-13 管理員登錄流程圖
(3)實現過程
首先獲取到頁面輸入的用戶名和密碼,根據該數據用Sql語句查詢到數據庫中是否存在該條數據,若有則登錄成功,否則失敗。輸入信息的檢驗根據前臺頁面login.jsp中的js進行檢驗。具體代碼類似于用戶登錄。
2.管理員信息的管理
(1)需要實現的功能
對管理員自身個人資料如密碼等進行更改操作,在操作之后將數據的改變反饋到數據庫中,并能在重新進入該系統后要輸入對應的全新的數據。界面如圖4-14所示。
圖4-14 管理員信息更改頁面
(2)后臺實現:
首先獲取當前會話Session中的admin對象,將該對象的密碼屬性重寫后使用sql語句updqte到數據庫中,再將該admin對象數據傳到前臺userInfo.jsp中。管理員再次請求登錄時需要使用更改后的密碼與名稱。
3.用戶信息管理
(1)需要實現的功能
需要實現對現有用戶的刪除操作,管理員無法對用戶的信息進行調整,只有用戶本人才能調整信息。界面如圖4-15所示
圖4-15 管理員管理用戶界面
(2)后臺實現
用戶管理主要使用DAO下的findById和findAll方法,前者通過用戶唯 一的標識符userid來查詢指定的用戶數據,后者查找所有的用戶數據。前者在查詢到該指定的數據后可以進行刪除操作,后者方法用來將系統中已經錄入的所有用戶信息展示到該頁面上。
4.訂單信息管理
(1)需要實現的功能
需要實現查看訂單詳細內容,刪除訂單,受理訂單等按鈕的功能。管理員可以點擊相應按鈕查看指定訂單的信息,管理員可以選擇是否受理該訂單。管理員可以通過點擊刪除訂單按鈕刪除該條訂單。界面的設計如圖4-16所示。
圖4-16 管理員訂單管理
(2)后臺實現
訂單信息展示后臺:
使用String sql="from TOrder order by orderUserId"語句直接從數據庫中查詢所有訂單信息,根據用戶Id排序,將獲得的數據傳到前臺頁面中。
訂單刪除后臺:
根據訂單id使用orderDAO.delete(order);刪除order表中相應的數據再使用String sql="delete from TOrderItem where orderId="+orderId;刪除orderitem表中相應的數據。
訂單受理后臺:
根據訂單Id查詢到指定訂單信息數據,使用update語句將訂單狀態改為已受理狀態,再返回給前臺界面。
訂單詳細后臺:
根據訂單id查詢訂單信息,將訂單信息反饋到前臺。
5.圖書信息管理
(1)需要實現的功能
管理員點擊添加按鈕后可以給系統上傳圖書信息,如圖書類別、名稱等基本信息以及圖書封面圖片等,在管理頁面還可以對現有的圖書進行刪除,更改等操作。
管理員在添加圖書頁面填寫圖書的信息,首先選擇圖書類別,之后填寫圖書的基本信息如名稱、簡介等,在選擇需要上傳的圖書封面圖片。點擊提交按鈕上傳圖書信息。而在圖書信息管理頁面可以將圖書選擇為特價和非特價,此頁面顯示管理員已經添加的所有圖書信息,在上傳圖片位置滑動可以查看圖書封面圖片小圖。添加圖書頁面如圖4-17所示,圖書信息管理頁面如圖4-18所示。
圖4-17 添加圖書信息界面
圖4-18 圖書信息管理界面
(2)后臺實現
圖書信息展示后臺:
根據sql語句String sql="from TGoods where goodsDel='no' order by goodsIsnottejia";從數據庫中全查所有圖書信息根據是否特價為排列條件排列,將所有數據整合為一個List集合傳回前臺頁面展示。
添加圖書后臺:
將前臺填寫的所有數據傳到后臺后設置為圖書實體類goods的屬性,將該實體類對象存入到數據庫中。其中是否特價默認為不是。
刪除圖書:
根據選中的指定的圖書的id來執行delete方法。
設置特價后臺:
將選中的圖書根據id查詢到該條記錄之后將該條記錄的是否特價字段goodsisnottejia修改為是特價之后執行對應dao層下的update方法更新該字段信息,再將記錄傳回前臺。
6.公告信息管理
(1)需要實現的功能
管理員通過公告管理頁面發布公告到前臺用戶界面,讓用戶可以看見管理員發布的公告。管理員點擊添加公告按鈕進入添加公告信息頁面,填寫公告信息,點擊發布后將其發布到首頁,公告管理頁面可以查看已經發布的公告并可以刪除現有公告。
(2)后臺實現
公告顯示后臺:
使用gonggao對應dao層下的findall()方法從數據庫中全查所有公告信息,將所有數據整合為一個List集合傳回前臺頁面展示。
刪除公告后臺:
根據選中的指定的公告的id來執行delete方法。
添加公告后臺代碼
將前臺填寫的所有數據傳到后臺后設置為公告實體類對象gonggao的屬性,將該實體類對象利用對應的dao層下的save()方法存入到數據庫中。其中日期屬性默認填寫為當前系統時間。
7.留言管理
(1)需要實現的功能
管理員可以點擊留言管理進入頁面管理用戶的留言,可以刪除指定用戶的留言。界面設計如圖4-21所示。
圖4-21 留言信息管理界面
(2)后臺實現
留言信息展示:
根據liuyan對應的dao層下的findall()方法從數據庫中全查所有留言信息,將所有數據整合為一個List集合傳回前臺頁面展示。
刪除留言后臺:
根據選中的指定的留言的id來執行delete方法。
8.財務管理
(1)需要實現的功能
管理員可以查看所有購買圖書的收入情況,也可以根據下方時間選擇指定時間內的財務收入情況。界面設計如圖4-22所示。
圖4-22 財務管理界面設計
- 計算機畢業設計 jsp汽車銷售預約系統mysql 畢設20 2024-04-28
- 計算機畢業設計 jsp汽車銷售網站ssh 畢設32 2024-04-28
- 計算機畢業設計 jsp汽車租賃網站mysql 畢設86 2024-04-28
- 計算機畢業設計 jsp文書處理及檔案管理系統mysql 畢設32 2024-04-28
- 計算機畢業設計 jsp教師工作量考核系統sqlserver 畢設28 2024-04-28
- 計算機畢業設計 jsp手機租賃系統sqlserver 畢設39 2024-04-28
- 計算機畢業設計 jsp微信小程序教務管理系統mysql 畢設88 2024-04-28
- 計算機畢業設計 jsp開放性實驗管理系統sqlserver 畢設67 2024-04-28
- 計算機畢業設計 jsp小區物業管理系統ssh 畢設65 2024-04-28
- 計算機畢業設計 jsp實驗室設備管理系統sqlserver 畢設44 2024-04-28