freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于bs的網(wǎng)上購書系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(編輯修改稿)

2024-07-21 07:00 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 頁數(shù)、印刷次數(shù)、印刷編號(hào)、圖書編號(hào)、作者描述、圖書描述。其中本表中的圖書id本表中id的值和產(chǎn)品信息表相關(guān)聯(lián),是一對(duì)一的關(guān)系,id值不是自動(dòng)自增,而是根據(jù)產(chǎn)品表的id來生成。:產(chǎn)品id、產(chǎn)品名稱、產(chǎn)品描述、添加時(shí)間、實(shí)際價(jià)格、漫步價(jià)格、關(guān)鍵字、是否下架、產(chǎn)品圖片。:訂單id、用戶id、訂單狀態(tài)、下單時(shí)間、訂單描述、訂單總價(jià)、收貨人。:訂單詳細(xì)信息id、訂單id、產(chǎn)品id、產(chǎn)品名稱、漫步價(jià)格、產(chǎn)品數(shù)量、產(chǎn)品價(jià)格小計(jì)。:收貨地址id、用戶id、收貨人姓名、收貨地址、郵政編碼、移動(dòng)電話、電話。:菜單項(xiàng)id、菜單順序、菜單英文名稱、菜單中文名稱、菜單描述、所屬父類菜單id。:表示菜單和產(chǎn)品關(guān)系的id、產(chǎn)品id、菜單id。其中id為主鍵,用來唯一的標(biāo)識(shí)一個(gè)菜單產(chǎn)品兩者之間的關(guān)系,product_id,cat_id都為外鍵,兩者一起用來表示產(chǎn)品屬于哪個(gè)菜單下面。 數(shù)據(jù)庫表關(guān)系物理實(shí)體圖設(shè)計(jì)數(shù)據(jù)庫表關(guān)系物理實(shí)體圖。 實(shí)體關(guān)系圖描述了數(shù)據(jù)庫中各種實(shí)體的相互關(guān)系。正是依賴于這些關(guān)系,才能夠把不同的表信息連接起來,在操作中保證實(shí)體的完整性,可以進(jìn)行多表間的查詢操作等。用戶模塊包括用戶注冊(cè)、注冊(cè)的驗(yàn)證、用戶的登錄。用戶如果在登錄的時(shí)候沒有賬號(hào)可以進(jìn)行注冊(cè),注冊(cè)的頁面中的用戶名的驗(yàn)證采用了Ajax異步請(qǐng)求進(jìn)行驗(yàn)證用戶名是否可以使用;用戶的昵稱采用JS和正則表達(dá)式進(jìn)行驗(yàn)證是否為正確格式;用JS和正則表達(dá)式驗(yàn)證密碼,如果密碼不符合規(guī)則,則不會(huì)讓用戶進(jìn)行密碼確認(rèn)的輸入,兩次密碼的判斷也是采用了JS判斷;注冊(cè)驗(yàn)證碼同樣是利用了Ajax的異步請(qǐng)求進(jìn)行驗(yàn)證。在點(diǎn)擊注冊(cè)時(shí)候,如果填寫的內(nèi)容有錯(cuò)誤的,則不被允許提交注冊(cè)信息。用戶在注冊(cè)頁面的信息填寫完畢之后會(huì)跳轉(zhuǎn)到注冊(cè)驗(yàn)證頁面,系統(tǒng)會(huì)提供用戶一個(gè)郵箱的驗(yàn)證碼,用戶要輸入正確的驗(yàn)證碼才能注冊(cè)成功;如果用戶未進(jìn)行注冊(cè)的驗(yàn)證,在用戶登錄的時(shí)候會(huì)自動(dòng)跳轉(zhuǎn)到注冊(cè)驗(yàn)證的頁面。在用戶注冊(cè)成功之后,可以通過點(diǎn)擊鏈接轉(zhuǎn)到商品的顯示頁面。用戶的登錄采用同步驗(yàn)證,用戶名和密碼輸入正確則登錄成功,進(jìn)入商品顯示的頁面。用戶登錄成功之后利用session綁定用戶,綁定是為了在進(jìn)行購物車結(jié)算的時(shí)候?qū)τ脩羰欠竦卿涍M(jìn)行判斷,如果未登錄則跳轉(zhuǎn)到登錄頁面。后臺(tái)采用了frame進(jìn)行頁面的設(shè)計(jì),這樣可以讓頁面看起來比較美觀大方,并且使用起來用很強(qiáng)的頁面感。在實(shí)現(xiàn)后臺(tái)一些模塊功能的同時(shí)在頁面上添加了動(dòng)態(tài)的時(shí)間顯示。(1)管理員登錄 本系統(tǒng)的管理員不可注冊(cè),只能由系統(tǒng)指定生成。登錄成功后可以對(duì)后臺(tái)進(jìn)行操作。(2)商品管理商品管理會(huì)顯示所有商品的列表,并且可以修改和刪除商品的信息;在商品列表顯示的頁面編寫了分頁的功能,同時(shí)利用jQuery框架進(jìn)行分頁中的一些特效的設(shè)計(jì)。當(dāng)管理員需要修改商品信息時(shí),會(huì)跳轉(zhuǎn)到商品的修改頁面,修改成功后跳轉(zhuǎn)到修改商品的所在頁;當(dāng)產(chǎn)品需要下架的時(shí)候,管理員會(huì)執(zhí)行刪除的操作。(3)會(huì)員列表在會(huì)員列表可以查看到漫步會(huì)員的信息,包括會(huì)員的用戶名、真實(shí)姓名、用戶的積分、郵箱驗(yàn)證是否通過、最后一次的登錄時(shí)間以及用戶的登錄IP。同時(shí)具有分頁功能和一些jQuery特效。(4)訂單列表在訂單列表頁面可以查看到所有訂單的詳細(xì)信息,可以對(duì)訂單的狀態(tài)進(jìn)行跟蹤。訂單頁面也具有分頁功能和jQuery特效。 基于接口的代碼設(shè)計(jì)數(shù)據(jù)庫與業(yè)務(wù)邏輯功能代碼之間使用接口隔離開,業(yè)務(wù)層不需要知道DAO層如何查詢數(shù)據(jù)庫數(shù)據(jù)的,DAO層也需要知道業(yè)務(wù)層是如何處理事務(wù)的。這樣設(shè)計(jì)有利于將業(yè)務(wù)和數(shù)據(jù)庫底層分離開,使開發(fā)人員不必受數(shù)據(jù)庫底層的限制,全心全意的去進(jìn)行業(yè)務(wù)邏輯開發(fā)。其中action是用Struts2以及一些配置文件完成,數(shù)據(jù)庫中數(shù)據(jù)的操作是通過Hibernate以及配置文件完成。 系統(tǒng)軟件包結(jié)構(gòu)信息表軟件包名包描述公用的action用戶模塊的action購物車某塊的action后臺(tái)管理的action訂單的action前臺(tái)主頁面的actionDAO接口和DAO的實(shí)現(xiàn)類實(shí)體類Service接口和接口的實(shí)現(xiàn)數(shù)據(jù)庫連接、cookie等一些工具類購物車的beantag自定義的標(biāo)簽test用來測(cè)試 系統(tǒng)代碼實(shí)現(xiàn)漫步網(wǎng)購書系統(tǒng)采用MVC架構(gòu)模式設(shè)計(jì)與實(shí)現(xiàn),實(shí)現(xiàn)過程中采用迭代開發(fā)模式,因此代碼實(shí)現(xiàn)也具有一定的MVC層次之分和相似性。 用戶登錄的實(shí)現(xiàn)。 登錄頁面用戶登錄需要輸入郵箱地址和密碼,輸入完成后通過表單提交的方式,通過Struts2配置文件調(diào)用LoginAction,在業(yè)務(wù)層調(diào)用業(yè)務(wù)方法,通過結(jié)合DAO對(duì)數(shù)據(jù)庫中數(shù)據(jù)的操作返回用戶輸入是否正確,正確則判斷用戶是否通過了郵箱驗(yàn)證,如果沒有通過則跳轉(zhuǎn)到郵箱驗(yàn)證的頁面,驗(yàn)證成功后跳轉(zhuǎn)到商品顯示頁面;如果驗(yàn)證已經(jīng)通過則直接跳轉(zhuǎn)到商品顯示頁面。輸入信息錯(cuò)誤則停留在登錄頁面,并且顯示錯(cuò)誤信息,同時(shí)將用戶綁定在session中,以供在之后的操作中使用。會(huì)員登錄的相關(guān)控制層代碼如下://action中的業(yè)務(wù)方法,在執(zhí)行通過配置文件的時(shí)候會(huì)調(diào)用響應(yīng)action的業(yè)務(wù)方法public String execute(){ UserDao userDao = new HibernateUserDao()。 //根據(jù)用戶的地址去查詢是否有記錄 user = (name)。//在登錄的時(shí)候把用戶的登錄狀態(tài)綁定到session中 (user, user)。//當(dāng)查詢的結(jié)果為空時(shí),則說明無此用戶,返回一個(gè)錯(cuò)誤的信息 if(user == null){ linfo = Email地址或密碼輸入錯(cuò)誤,請(qǐng)核對(duì)。 return error。 }//在驗(yàn)證完用戶的地址之后,要對(duì)用戶輸入的密碼進(jìn)行驗(yàn)證 String actPwd = ()。//如果密碼比較為false,則返回錯(cuò)誤信息 if(!((password))){ linfo = Email地址或密碼輸入錯(cuò)誤,請(qǐng)核對(duì)。 return error。 }//如果用戶的郵箱地址和密碼都為正確,就會(huì)對(duì)用戶的郵箱驗(yàn)證狀態(tài)進(jìn)行驗(yàn)證,如果未驗(yàn)證則會(huì)跳轉(zhuǎn)到驗(yàn)證郵箱的頁面,如果已經(jīng)驗(yàn)證則會(huì)跳轉(zhuǎn)到系統(tǒng)的主頁面 if(().equals(N) ){ = name。 code1 = ()。 return nocheck。 }//登錄成功的時(shí)候會(huì)采用一個(gè)用JS實(shí)現(xiàn)的提示框來提示用戶登錄成功 log_message = scriptalert(39。登錄成功39。)。/script。 (message, log_message)。 nickName = ()。//把登錄用戶的昵稱放到session中,方便在主頁面的顯示 (nickName, nickName)。 (user, user)。 return success。 } 注冊(cè)功能的實(shí)現(xiàn)會(huì)員的注冊(cè)是要求注冊(cè)用戶填入對(duì)應(yīng)的信息,信息填寫無誤后才可以跳轉(zhuǎn)到郵箱驗(yàn)證的頁面。 用戶注冊(cè)頁面注冊(cè)頁面實(shí)現(xiàn)了一個(gè)jQuery的特效,就是在上一個(gè)輸入框獲得焦點(diǎn)的時(shí)候才會(huì)顯示第二個(gè)輸入框。郵箱地址的驗(yàn)證是通過Ajax異步請(qǐng)求驗(yàn)證。首先要輸入準(zhǔn)確無誤的郵箱格式,異步驗(yàn)證中的頁面顯示。 用戶郵箱地址驗(yàn)證中用戶地址驗(yàn)證完成后。 用戶郵箱地址驗(yàn)證完成用戶郵箱地址的驗(yàn)證為發(fā)送異步請(qǐng)求進(jìn)行驗(yàn)證,這樣不會(huì)對(duì)瀏覽器地址欄的地址發(fā)生改變,同時(shí)在網(wǎng)頁上的視覺效果比較好。異步驗(yàn)證也要通過Struts的配置文件去調(diào)用相對(duì)應(yīng)的action,然后調(diào)用CheckEmailAction的業(yè)務(wù)方法,對(duì)用戶填寫的郵箱進(jìn)行驗(yàn)證,主要代碼如下://定義一個(gè)返回的boolean類型的值,如果異步請(qǐng)求的返回值為false,則說明此郵箱地址已經(jīng)存在,會(huì)在頁面顯示錯(cuò)誤的信息,為true則可以使用該地址boolean ok = false。 UserDao userDao = new HibernateUserDao()。//通過對(duì)注冊(cè)用戶所輸入的地址在數(shù)據(jù)庫中查詢, User user = ()。//如果能查詢到結(jié)果則返回值為false,反之為true if(user!=null){ ok = false。 }else{ ok = true。 } return ok。當(dāng)用戶輸入密碼的時(shí)候,如果密碼不為正確的,則再次輸入密碼的輸入框是不能獲得焦點(diǎn)的。 密碼輸入錯(cuò)誤注冊(cè)的信息全部輸入正確之后頁面,驗(yàn)證碼的驗(yàn)證也是通過Ajax異步請(qǐng)求進(jìn)行驗(yàn)證。 注冊(cè)信息填寫完成信息填寫完全之后點(diǎn)擊注冊(cè),會(huì)跳轉(zhuǎn)到郵箱的驗(yàn)證頁面,這時(shí)需要輸入發(fā)送給用戶的郵箱驗(yàn)證碼才可以注冊(cè)成功。 郵箱驗(yàn)證頁面郵箱驗(yàn)證碼的生成是通過UUID實(shí)現(xiàn)并生成的,代碼如下:UUID uuid = ()。 return ()。如果此時(shí)用戶沒有進(jìn)行郵箱的驗(yàn)證,而直接退出注冊(cè)頁面的話,在用戶登錄的時(shí)候依然會(huì)跳轉(zhuǎn)到郵箱驗(yàn)證的頁面。 正常情況下,用戶輸入驗(yàn)證碼,點(diǎn)擊完成,則注冊(cè)完成。 注冊(cè)成功頁面點(diǎn)擊頁面上我的漫步網(wǎng)可以進(jìn)入商品的顯示頁面。 后臺(tái)管理的實(shí)現(xiàn)后臺(tái)的管理包括管理員的登錄、會(huì)員信息列表顯示、訂單列表顯示、添加圖書、圖書信息的管理。 后臺(tái)登錄頁面管理員輸入正確的用戶名和密碼。則會(huì)跳轉(zhuǎn)到后臺(tái)管理的頁面,后臺(tái)管理頁面同時(shí)會(huì)獲取到管理員的姓名。如果輸入錯(cuò)誤,則會(huì)停留在登錄頁面,并且提示錯(cuò)誤信息。 后臺(tái)管理頁面后臺(tái)歡迎頁面中利用了JS實(shí)現(xiàn)了一個(gè)管理員姓名突出顯示的效果,主要JS代碼如下:function changeColor(){//通過id獲取管理員姓名的對(duì)象 var pEle = (we_name)。 //通過三目運(yùn)算來控制該對(duì)象的CSS樣式 = == 39。red39。?39。green39。:39。red39。 } //在開始的運(yùn)行的時(shí)候就執(zhí)行該function, (changeColor(),500)。管理員可以根據(jù)頁面左側(cè)的菜單進(jìn)行要進(jìn)行的操作。點(diǎn)擊父類菜單可以顯示子類的菜單項(xiàng)。在添加圖書的頁面中的圖書類別同樣采取的是Ajax異步請(qǐng)求,在選擇不同的父類的菜單的時(shí)候,子類的菜單的加載信息也是不同的。 圖書類別菜單加載頁面當(dāng)改變圖書類別的父類菜單的時(shí)候。 圖書類別改變菜單加載頁面異步請(qǐng)求的JS代碼如下:$(function(){//程序一加載就執(zhí)行這個(gè)異步請(qǐng)求,同時(shí)把返回的結(jié)果加載到一級(jí)菜單的選項(xiàng)中$.post(manage/,{39。parentId39。:1},function(data){ var c = 1。//對(duì)異步請(qǐng)求返回的結(jié)果進(jìn)行迭代,并且把返回的結(jié)果按照規(guī)則填充到響應(yīng)的位置 for(var i=0。i。i++){ var menu = data[i]。//定義select中一級(jí)菜單的id值和value值var $opt = $(option value=+menu[0]+ id=39。opt_first+c+39。+menu[1]+/option)。 $(select1).append($opt)。 c++。 } })。 //根據(jù)選擇的一級(jí)菜單去加載二級(jí)菜單的選項(xiàng) $(select1).change(function(){ var optVal = $(this).val()。 $(select2 option).remove()。 $.post(manage/,{39。parentId39。:optVal},function(data){ var c = 1。//對(duì)異步請(qǐng)求返回的結(jié)果進(jìn)行迭代,并且把返回的結(jié)果按照規(guī)則填充到響應(yīng)的位置 for(var j=0。j。j++){//定義select中相對(duì)應(yīng)二級(jí)菜單的id值和value值var $opt = $(option value=+data[j][0]+ id=39。opt_second+c+39。+data[j][1]+/option)。 $(select2).append($opt)。 c++。} })。 })。 })。在異步請(qǐng)求發(fā)出的時(shí)候會(huì)先去Struts配置文件中去尋找相對(duì)應(yīng)的action,然后調(diào)用action的業(yè)務(wù)方法,再通過對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行操作,把得到的數(shù)據(jù)返回,把數(shù)據(jù)加載到select中,顯示在頁面上。同時(shí)在進(jìn)行圖書的圖片進(jìn)行上傳的時(shí)候,為了方便管理員知道導(dǎo)入的圖片是否正確,要在頁面的右上方顯示出要上傳的圖片。 圖片上傳在當(dāng)前頁面的顯示在實(shí)現(xiàn)這個(gè)功能的時(shí)候,由于現(xiàn)在的瀏覽器的安全級(jí)別都在不斷的提高,所以很難獲取到本地圖片的地址,但是可以通過一個(gè)數(shù)組來實(shí)現(xiàn),并且在JS中實(shí)現(xiàn),主要代碼如下:var file1 = (file1)。 var fileName = ([0])。$(show_Pic).html(img src=39。+fileName+39。)。在管理員把圖書的信息輸入之后,點(diǎn)擊提交即可添加新的圖書的信息。在添加完成之后,管理員需要對(duì)所有的圖書進(jìn)行管理,需要進(jìn)入圖書的列表頁面。 所有圖書列表顯示管理員可以通過點(diǎn)擊修改對(duì)圖書的信息進(jìn)行修改,也可以點(diǎn)擊刪除對(duì)圖書進(jìn)行刪除操作。同時(shí)管理員可以對(duì)會(huì)員信息列表和訂單信息列表進(jìn)行查看。 會(huì)員信息列表顯示。 訂單信息列表顯示當(dāng)訂單下單成功之后,如果商家已經(jīng)發(fā)貨,則訂單的狀態(tài)則為已發(fā)貨,如果交易完成,則顯示為交易完成。第4章 系統(tǒng)運(yùn)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1