網(wǎng)上書城項目文檔.doc_第1頁
網(wǎng)上書城項目文檔.doc_第2頁
網(wǎng)上書城項目文檔.doc_第3頁
網(wǎng)上書城項目文檔.doc_第4頁
網(wǎng)上書城項目文檔.doc_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

_項目搭建1導(dǎo)入原型只有前端頁面,但沒有后端代碼的項目。即一個只有頁面但沒有功能的項目!導(dǎo)入原型:l 創(chuàng)建一個web項目,命名為goods;l 把原型的webroot和src兩個目錄copy到goods中,覆蓋原有的文件夾;l 把goods發(fā)布到tomcat上,打開瀏覽器,訪問主頁。2前臺需求分析前臺是針對會員購書,而后臺是管理員管理系統(tǒng)并完成售書。2.1前臺主頁/index.jsp使用轉(zhuǎn)發(fā)到/jsps/main.jsp,、main.jsp中只有一個,結(jié)構(gòu)如下:main.jsp(1)ITCAST網(wǎng)上書城用戶名:張三 我的購物車 我的訂單 修改密碼 退出(2)圖書分類 (3)搜索圖書 高級(4)歡迎信息中各個部分使用的是完成的框架頁。(1):/jsps/top.jsp;(2):/jsps/left.jsp;(3):/jsps/searchj.jsp;(4):/jsps/body.jsp在(1)、(2)、(3)部分都存在超鏈接或表單,無論點擊哪個超鏈接(或提交表單)都會在(4)部分顯示。2.2模塊劃分系統(tǒng)分為如下模塊:l 用戶模塊l 分類模塊l 圖書模塊l 購物車模塊l 訂單模塊2.3前臺用戶模塊用戶模塊功能有:l 注冊l 激活l 登錄l 修改密碼l 退出2.4前臺分類模塊分類模塊功能有:l 顯示所有分類;2.5前臺圖書模塊前臺圖書模塊功能有:l 分頁查看指定分類的圖書;l 分頁查看指定名稱的圖書;l 分頁查看指定條件的圖書;l 查看圖書詳細(xì)信息。2.5購物車模塊購物車模塊功能有:l 向車中添加條目;l 查看我的購物車;l 修改條目數(shù)量;l 刪除條目;l 批量刪除條目;2.6前臺訂單模塊前臺訂單模塊功能有:l 生成訂單;l 查看我的訂單;l 查看訂單詳細(xì)信息;l 取消訂單;l 確認(rèn)收貨;l 支付訂單;3后臺需求分析后臺是管理員管理系統(tǒng),以售書功能。3.1后臺主頁(1)ITCAST網(wǎng)上書城后臺管理管理員:張三 退出 分類管理 圖書管理 訂單管理(2)歡迎圖片與前臺主頁一樣,使用框架頁。3.2管理員模塊管理員模塊功能有:l 管理員登錄;l 管理員退出;3.3后臺分類管理后臺分類管理功能有:l 查看所有分類;l 添加一級分類;l 添加二級分類;l 編輯一級分類;l 編輯二級分類;l 刪除一級分類;l 刪除二級分類;3.4后臺圖書管理(1)ITCAST網(wǎng)上書城后臺管理用戶名:張三 我的購物車 我的訂單 修改密碼 退出(2)圖書分類 添加圖書 高級搜索后臺圖書管理功能有:l 分頁查看指定分類的圖書;l 分頁查看指定條件的圖書;l 添加新圖書;l 編輯圖書;l 刪除圖書;3.5后臺訂單管理后臺訂單管理功能有:l 分頁查看所有訂單;l 分頁查看指定狀態(tài)的訂單;l 查看訂單詳細(xì)信息;l 訂單發(fā)貨;l 取消訂單;4數(shù)據(jù)模型設(shè)計根據(jù)需求分析,得到如下實體:l User:會員;l Category:圖書分類;l Book:圖書;l CartItem:購物車條目;l Order:訂單;l OrderItem:訂單條目;l Admin:管理員。4.1t_user表列名列類型描述uidchar(32)主鍵loginnamevarchar(50)會員登錄名loginpassvarchar(50)會員登錄密碼emailvarchar(50)郵箱地址statusboolean是否已激活activationCodechar(64)激活碼4.2t_category表列名列類型描述cidchar(32)主鍵cnamevarchar(50)圖書分類名稱pidchar(32)外鍵,相對本表的cid,表示父分類id。descvarchar(100)分類描述orderByint分類序號,用來排序。4.3t_book表列名列類型描述bidchar(32)主鍵bnamevarchar(200)圖書名稱authorvarchar(50)圖書作者pricedecimal(8,2)定價currPricedecimal(8,2)當(dāng)前價discountdecimal(3,1)折扣pressvarchar(100)出版社editionint版次pageNumint頁數(shù)wordNumint字?jǐn)?shù)printtimechar(10)印刷時間booksizeint開本papervarchar(50)紙質(zhì)cidchar(32)所屬分類idimage_wvarchar(100)大圖路徑image_bvarchar(100)小圖路徑orderByint序號4.4t_cartitem表列名列類型描述cartItemIdchar(32)主鍵quantityint數(shù)量bidchar(32)圖書iduidchar(32)當(dāng)前會員idorderByint序號4.5t_order表列名列類型描述oidchar(32)主鍵ordertimechar(19)下單時間totaldecimal(10,2)合計金額statusint訂單狀態(tài):1 未付款、2 未發(fā)貨、3 未收貨、4 交易成功、5 已取消addressvarchar(1000)收貨地址uidchar(32)當(dāng)前會員id4.6t_orderitem列名列類型描述orderItemIdchar(32)主鍵quantityint數(shù)量subtotaldecimal(8,2)金額小計bidchar(32)圖書idbnamevarchar(200)圖書名稱currPricedecimal(8,2)當(dāng)前價image_bvarchar(100)小圖路徑oidchar(32)所屬訂單id4.7t_admin列名列類型描述adminIdchar(32)主鍵adminnamevarchar(50)管理員登錄名adminpwdvarchar(50)管理員密碼5項目框架5.1導(dǎo)包項目所需要導(dǎo)什么包,要從項目所使用的工具來計算。本項目需要使用工具如下:l c3p0;l commons-beanutils;l commons-dbutils;l commons-fileupload;l commons-fileupload.jar; l javamail;l Log4J;l mysql-connector;l itcast-tools。5.2配置文件本項目使用了C3P0數(shù)據(jù)庫連接池,所以需要在src下配置c3p0-config.xml文件。模板如下:c3p0-config.xml jdbc:mysql:/localhost:3306/goodscom.mysql.jdbc.Driverroot1233102105.3建包包名的結(jié)構(gòu)一般為:公司域名.項目名.模塊名稱.分層名稱。本項目的包大致如下:l cn.itcast.goods.user.domain;l cn.itcast.goods.user.dao;l cn.itcast.goods.user.service;l cn.itcast.goods.user.web.servlet;l cn.itcast.goods.category.doamin;l cn.itcast.goods.category.dao;l cn.itcast.goods.category.service;l cn.itcast.goods.category.web.servlet;l cn.itcast.goods.book.domain;l cn.itcast.goods.book.service;l cn.itcast.goods.book.web.servlet;l cn.itcast.goods.cart.domain;l cn.itcast.goods.cart.dao;l cn.itcast.goods.cart.service;l cn.itcast.goods.cart.web.servlet;l cn.itcast.goods.order.domain;l cn.itcast.goods.order.dao;l cn.itcast.goods.order.service;l cn.itcast.goods.order.web.servlet;l cn.itcast.goods.web.filter;l cn.itcast.goods.admin.admin.domain;l cn.itcast.goods.admin.category.web.servlet;l cn.itcast.goods.admin.book.web.servlet;l cn.itcast.goods.admin.order.web.servlet。5.4JQuery異步請求本項目的頁面中使用JQuery來完成表單的校驗,而且還使用了JQuery的AJAX。這里簡單回顧一下使用JQuery發(fā)送異步請求的過程。使用JQuery發(fā)送異步請求最為靈活的方法是ajax()方法,該方法只有一個參數(shù),參數(shù)為一個JSON對象,下面來看看這個對象的屬性。l async:默認(rèn)為true,表示發(fā)送異步請求。l beforeSend:函數(shù)類型。該函數(shù)會在發(fā)送請求前被調(diào)用,可以用來設(shè)置自定義的HTTP報頭。該函數(shù)有一個參數(shù)為XMLHttpRequest類型,我們可以使用它完成底層AJAX的設(shè)置,如果該函數(shù)返回false,那么當(dāng)前請求會被取消。l cache:默認(rèn)為true,表示是否在瀏覽器緩存中加載信息。當(dāng)dataType為script時,該屬性為false。l complete:函數(shù)類型,無論請求是否成功,當(dāng)請求結(jié)束時調(diào)用它。該函數(shù)有兩個參數(shù),function (XMLHttpRequest, textStatus)。l contentType:默認(rèn)為application/x-www-form-urlencoded,一般無需修改該屬性。l data:請求參數(shù),格式為key1:val1,key2:val2。如果val為數(shù)組那么會被轉(zhuǎn)換為多個參數(shù),例如key:val1,val2轉(zhuǎn)換為key=val1&key=val2。l dataType:可選值為xml、html、script、json、jsonp、text。表示服務(wù)器的響應(yīng)數(shù)據(jù)的類型。l type:默認(rèn)為GET,表示請求方式。POST和GET使用的比較多。l url:請求的服務(wù)器資源,可以是一個html、xml、jsp和Servlet等。l success:請求成功調(diào)用的函數(shù)。函數(shù)形如fun(data,status),其中data為通過dataType進行了轉(zhuǎn)換的服務(wù)器響應(yīng)數(shù)據(jù)。l error:請求失敗時調(diào)用的函數(shù)。函數(shù)形如fun(XMLHttpRequest, status, errorThrown) 。常用屬性有6個: url:要請求的服務(wù)器端地址 dataType:服務(wù)器返回數(shù)據(jù)的類型,我們通常用json; data:客戶端發(fā)送給服務(wù)器的參數(shù); type:請求方法,可以是GET或POST async:是否為異步(如果為true,那么是用兩個線程來完成,否則是一個線程) cache:客戶端是否緩存數(shù)據(jù)。 success:成功是調(diào)用的方法。例如:script type=text/javascript src=$(function() 這個的內(nèi)容會在當(dāng)前頁面被加載完成后執(zhí)行,相同與的onload事件。$(#btn).click(給id為btn的元素添加click事件function() var name = $(#name).val();if(name) $.ajax發(fā)送異步請求(async: false,cache: false,type: POST請求方式為POST,dataType: json服務(wù)器返回的數(shù)據(jù)類型為json類型,url請求的url為/AjaxServlet: ,data請求參數(shù)有兩個,分別為method=findByName以及name=name: method: findByName, name: name,success當(dāng)請求成功后,會執(zhí)行這個方法,其中參數(shù)person是由服務(wù)器返回的json對象。: function(person) $(#person).text(person.pid + , + + , + person.age + , + person.birthday);););); 請輸入姓名: public class AjaxServlet extends BaseServlet public String findByName因為請求服務(wù)器時指定method參數(shù)值為findByName,所以就會調(diào)用本方法(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String name = request.getParameter(name)獲取name參數(shù)值;PersonDao dao = new PersonDao();try Person person = dao.findByName(name);StringBuilder sb = new StringBuilder();sb.append();sb.append(pid:).append().append(person.getPid().append(,);sb.append(name:).append().append(person.getName().append(,);sb.append(age:).append().append(person.getAge().append(,);sb.append(birthday:).append().append(person.getBirthday().append();sb.append();把Person對象轉(zhuǎn)換成json對象response.getWriter().print(sb); 發(fā)送給客戶端 catch (SQLException e) throw new RuntimeException(e);return null

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論