微納繪本館論文_第1頁
微納繪本館論文_第2頁
微納繪本館論文_第3頁
微納繪本館論文_第4頁
微納繪本館論文_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、微納繪本館摘 要 JSP全名為Java Server Page,其根本是一個(gè)簡化的的Servlet設(shè)計(jì),它實(shí)現(xiàn)了Html語法中的Java擴(kuò)張。用JSP開發(fā)的Web應(yīng)用是跨平臺(tái)的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。本文通過對(duì)微納繪本館系統(tǒng)的需求調(diào)研,根據(jù)用戶的需求定約,設(shè)計(jì)并開發(fā)了一個(gè)微納繪本館在線管理系統(tǒng),提供繪本在線預(yù)覽、繪本借閱、繪本訂購等功能。在系統(tǒng)設(shè)計(jì)中綜合運(yùn)用多種開發(fā)技術(shù)(JSP、Servlet、AJAX、JS、Jquery),使用MySQL作為數(shù)據(jù)庫管理系統(tǒng),實(shí)現(xiàn)信息系統(tǒng)層。本系統(tǒng)使用JSP開發(fā)前端頁面,通過AJAX向Servlet傳送,使用JS和Jquery操作返

2、回的數(shù)據(jù),以此實(shí)現(xiàn)頁面的動(dòng)態(tài)化。關(guān)鍵字 繪本館 JSP Servlet AJAX JS Jquery Micro Contain Picture GalleryABSTRACT JSP(Java Server Page) is a simplified design of Servlet, which implements HTML and HTTP. The JSP Web applications are cross-platform, They can run under Linux, and other operating systems. According to the deman

3、d research of micro contain picture gallery system and the users stipulation, this paper designs and develops an online management system to provide previewing, borrowing or purchasing books. In the design of the system framework, the various development technologies (JSP,Servlet,AJAX,JS and Jquery)

4、 are synthetically applied, the system uses JSP as view layer, and uses MySQL as database, and also uses AJAX to achieve dynamic pages.KEYWORDS Picture Gallery; JSP; Servlet; AJAX; JS; Jquery目錄引言1第一章相關(guān)技術(shù)綜述21.1 JSP介紹21.1.1 JSP的改進(jìn)41.1.2 JSP的優(yōu)勢(shì)51.2 AJAX介紹61.2.1 AJAX的優(yōu)點(diǎn)81.3 Servlet介紹91.3.1 Servlet主要方法10

5、1.4 JS 介紹121.5 Jquery 介紹131.5.1 Jquery的功能14第二章系統(tǒng)概要設(shè)計(jì)162.1 需求分析162.1.1 用戶需求分析162.1.2 功能需求分析162.2 開發(fā)及運(yùn)行環(huán)境172.3系統(tǒng)功能規(guī)劃172.4系統(tǒng)設(shè)計(jì)182.4.1 會(huì)員功能182.4.2 管理員功能19第三章系統(tǒng)詳細(xì)設(shè)計(jì)213.1 技術(shù)架構(gòu)213.2 源碼組織213.3 ER圖設(shè)計(jì)223.4 類圖設(shè)計(jì)233.5 數(shù)據(jù)庫設(shè)計(jì)233.6 結(jié)構(gòu)設(shè)計(jì)253.6.1 表現(xiàn)層設(shè)計(jì)253.6.2 數(shù)據(jù)層設(shè)計(jì)253.7 詳細(xì)設(shè)計(jì)說明263.7.1 用戶預(yù)約借閱263.7.2 用戶訂購繪本263.7.3 管理員繪本

6、管理273.7.4 管理員預(yù)約借閱管理273.7.5 管理員借閱管理27第四章系統(tǒng)實(shí)現(xiàn)284.1 運(yùn)行環(huán)境284.2 系統(tǒng)實(shí)現(xiàn)284.2.1 系統(tǒng)主界面284.2.2 用戶搜索繪本294.2.3 用戶預(yù)覽繪本294.2.4 用戶預(yù)約借閱繪本304.2.5 用戶訂購繪本314.2.6 管理員添加借閱324.2.7 管理員歸還繪本334.2.8 管理員添加繪本334.2.9 管理員編輯繪本35總 結(jié)37致 謝38參考文獻(xiàn)39引言繪本,顧名思義就是“畫出來的書”。早期被稱作為圖畫書(Picture Book),通俗的說法是指有圖畫、主題簡單、情節(jié)內(nèi)容簡短的故事書。主要是針對(duì)幼兒、兒童所設(shè)定的出版品,

7、多以適合幼兒、兒童閱讀的內(nèi)容為取向;但也有供成人閱讀的繪本。繪本作為一種綜合性藝術(shù)形式,它源自于作者的直覺,它憑借作者心靈的力量對(duì)事物進(jìn)行整體性的把握。繪本書籍一般都比較貴,如果純粹自購的話,將是一筆不小的開支。而且,有些繪本沒有必要收藏。為解決上述的不便,“微納繪本館”提供在線預(yù)覽功能,同時(shí)提供繪本借閱,使用戶可以不用購買就能夠欣賞繪本,同時(shí)也提供訂購繪本的功能。第一章 相關(guān)技術(shù)綜述微納繪本館管理系統(tǒng)主要采用JSP和Servlet開發(fā),其中JSP用于開發(fā)前端頁面,Servlet用于開發(fā)后臺(tái)對(duì)數(shù)據(jù)庫進(jìn)行操作,兩者相互配合,保證更好的開發(fā)效率、系統(tǒng)的穩(wěn)定性、可靠性。本系統(tǒng)使用JSP技術(shù)作為表現(xiàn)層

8、技術(shù),負(fù)責(zé)收集用戶的請(qǐng)求數(shù)據(jù)并將其通過AJAX技術(shù)提交到Servlet,當(dāng)Servlet處理完用戶的請(qǐng)求后,通過AJAX返回?cái)?shù)據(jù),JSP頁面負(fù)責(zé)將處理結(jié)果呈現(xiàn)給用戶,實(shí)現(xiàn)異步刷新。本系統(tǒng)的JSP頁面還使用了JS、Jquery語言,用于對(duì)JSP頁面的元素進(jìn)行選取操作,然后與后臺(tái)數(shù)據(jù)進(jìn)行交互,對(duì)返回的數(shù)據(jù)進(jìn)行處理,實(shí)現(xiàn)頁面的動(dòng)態(tài)化。本系統(tǒng)是一個(gè)綜合的解決方案,系統(tǒng)中用到的相關(guān)技術(shù)比較多,故在下面的相關(guān)技術(shù)介紹中,本文將主要介紹系統(tǒng)中使用到的技術(shù),并結(jié)合系統(tǒng)對(duì)此技術(shù)的使用情況作一些簡要的介紹。1.1 JSP介紹JSP是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)技術(shù)標(biāo)準(zhǔn)。

9、在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)簽,就構(gòu)成了JSP網(wǎng)頁java程序片段可以操縱數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送E-mail等,實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,這樣大 大降低了對(duì)客戶瀏覽器的要求,即使客戶瀏覽器端不支持Java,也可以訪問JSP網(wǎng)頁。JSP全名為Java Server Pages,其根本是一個(gè)簡化的Servlet設(shè)計(jì),他實(shí)現(xiàn)了Html語法中的java擴(kuò)張(以 形式)。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的。通常返回給客戶端的就是一個(gè)HTML

10、文本,因此客戶端只要有瀏覽器就能瀏覽。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶端。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁所需要的功能。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。JavaServlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺(tái)無關(guān)性且安全

11、可靠,主要面向因特網(wǎng)的所有特點(diǎn)。1.1.1 JSP的改進(jìn)為了快速方便地進(jìn)行動(dòng)態(tài)網(wǎng)站的開發(fā),JSP在以下幾個(gè)方面做了改進(jìn),使其成為快速建立跨平臺(tái)的動(dòng)態(tài)網(wǎng)站的首選方案。1.將內(nèi)容的生成和顯示進(jìn)行分離用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來設(shè)計(jì)和格式化最終頁面,并使用JSP標(biāo)識(shí)或者小腳本來生成頁面上的動(dòng)態(tài)內(nèi)容(內(nèi)容是根據(jù)請(qǐng)求變化的,例如請(qǐng)求賬戶信息或者特定的一瓶酒的價(jià)格等)。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在腳本中,所有的腳本在服務(wù)器端運(yùn)行。由于核心邏輯被封裝在標(biāo)識(shí)和JavaBeans中,所以Web管理人員和頁面設(shè)計(jì)者,能夠編輯和使用JSP頁面,

12、而不影響內(nèi)容的生成。在服務(wù)器端,JSP引擎解釋JSP標(biāo)識(shí)和腳本,生成所請(qǐng)求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBC技術(shù)訪問數(shù)據(jù)庫或者包含文件),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這既有助于作者保護(hù)自己的代碼,又能保證任何基于HTML的Web瀏覽器的完全可用性。2.可重用組件絕大多數(shù)JSP頁面依賴于可重用的、跨平臺(tái)的組件(JavaBeans或者Enterprise JavaBeans組件)來執(zhí)行應(yīng)用程序所要求的復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者和客戶團(tuán)體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各

13、種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。3.采用標(biāo)識(shí)Web頁面開發(fā)人員不會(huì)都是熟悉腳本語言的編程人員。JSP技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識(shí)能夠訪問和實(shí)例化JavaBeans組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。4.適應(yīng)平臺(tái)幾乎所有平臺(tái)都支持Java,JSP+JavaBeans幾乎可以在所有平臺(tái)下通行無阻。從一個(gè)平臺(tái)移植到另外一個(gè)平臺(tái),JSP和JavaBeans甚至不用重新編譯,因?yàn)镴ava字節(jié)碼都是標(biāo)準(zhǔn)的與平臺(tái)無關(guān)的。5.數(shù)據(jù)庫連接Java中連接數(shù)據(jù)庫的

14、技術(shù)是JDBC,Java程序通過JDBC驅(qū)動(dòng)程序與數(shù)據(jù)庫相連,執(zhí)行查詢、提取數(shù)據(jù)等操作。Sun公司還開發(fā)了JDBCODBC bridge,利用此技術(shù)Java程序可以訪問帶有ODBC驅(qū)動(dòng)程序的數(shù)據(jù)庫,大多數(shù)數(shù)據(jù)庫系統(tǒng)都帶有ODBC驅(qū)動(dòng)程序,所以Java程序能訪問諸如Oracle、Sybase、MS SQL Server和MS Access等數(shù)據(jù)庫。此外,通過開發(fā)標(biāo)識(shí)庫,JSP技術(shù)可以進(jìn)一步擴(kuò)展。第三方開發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標(biāo)識(shí)庫。這使得Web頁面開發(fā)人員能夠使用熟悉的工具和如同標(biāo)識(shí)一樣的執(zhí)行特定功能的構(gòu)件來進(jìn)行工作。JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和

15、技巧,并且能擴(kuò)展到支持企業(yè)級(jí)的分布式應(yīng)用中。作為采用Java技術(shù)家族的一部分,以及Java 2(企業(yè)版體系結(jié)構(gòu))的一個(gè)組成部分,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。 由于JSP頁面的內(nèi)置腳本語言是基于Java的,而且所有的JSP頁面都被編譯成為Java Servlets,所以JSP頁面具有Java技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性。作為Java平臺(tái)的一部分,JSP擁有Java編程語言“一次編寫,各處運(yùn)行”的特點(diǎn)。1.1.2 JSP的優(yōu)勢(shì)JSP優(yōu)勢(shì)如下: (1)一次編寫,到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。 (2)系統(tǒng)的多平臺(tái)支持。基本上可以在所有平臺(tái)上的任意環(huán)境中開發(fā)

16、,在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP的局限性JSP的優(yōu)勢(shì)是顯而易見的。 (3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。 (4)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。 (5)支持服務(wù)器端組件。web應(yīng)用需要強(qiáng)大的服務(wù)器端組件來支持,開發(fā)人員需要利用其他工具設(shè)計(jì)實(shí)現(xiàn)復(fù)雜功能的組件供w

17、eb頁面調(diào)用,以增強(qiáng)系統(tǒng)性能。JSP可以使用成熟的JAVA BEANS 組件來實(shí)現(xiàn)復(fù)雜商務(wù)功能。JSP的編譯原理如圖1-1所示。圖1-1 JSP編譯原理示意圖1.2 AJAX介紹AJAX由HTML、JavaScript技術(shù)、DHTML和DOM組成,這一杰出的方法可以將笨拙的Web界面轉(zhuǎn)化成交互性的AJAX應(yīng)用程序。在一般的Web應(yīng)用程序中,用戶填寫表單字段并單擊提交按鈕。然后整個(gè)表單發(fā)送到服務(wù)器,服務(wù)器將它轉(zhuǎn)發(fā)給處理表單的腳本(通常是PHP或java,也可能是CGI進(jìn)程或者類似的東西),腳本執(zhí)行完成后再發(fā)送回全新的頁面。該頁面可能是帶有已經(jīng)填充某些數(shù)據(jù)的新表單的HTML,也可能是確認(rèn)頁面,或者

18、是具有根據(jù)原來表單中輸入數(shù)據(jù)選擇的某些選項(xiàng)的頁面。當(dāng)然,在服務(wù)器上的腳本或程序處理和返回新表單時(shí)用戶必須等待。屏幕變成一片空白,等到服務(wù)器返回?cái)?shù)據(jù)后再重新繪制。這就是交互性差的原因,用戶得不到立即反饋,因此感覺不同于桌面應(yīng)用程序。AJAX基本上就是把JavaScript技術(shù)和XMLHttpRequest對(duì)象放在Web表單和服務(wù)之間。當(dāng)用戶填寫表單時(shí),數(shù)據(jù)發(fā)送給一些JavaScript代碼而不是直接發(fā)送給服務(wù)器。相反,JavaScript代碼捕獲表單數(shù)據(jù)并向服務(wù)器發(fā)送請(qǐng)求。同時(shí)用戶屏幕上的表單也不會(huì)閃爍、消失或延遲。換句話說,JavaScript代碼不用等待服務(wù)的響應(yīng)。因此用戶可以繼續(xù)輸入數(shù)據(jù)、

19、滾動(dòng)屏幕和使用應(yīng)用程序。然后,服務(wù)器將數(shù)據(jù)返回JavaScript代碼(仍然在Web表單),后者決定如何處理這些數(shù)據(jù)。它可以迅速更新表單數(shù)據(jù),讓人感覺應(yīng)用程序是立即完成的,表單沒有提交或刷新而用戶得到了新數(shù)據(jù)。許多重要的技術(shù)和AJAX開發(fā)模式可以從現(xiàn)有的知識(shí)中獲取。例如,在一個(gè)發(fā)送請(qǐng)求到服務(wù)端的應(yīng)用中,必須包含請(qǐng)求順序、優(yōu)先級(jí)、超時(shí)響應(yīng)、錯(cuò)誤處理及回調(diào),其中許多元素已經(jīng)在Web服務(wù)中包含了。同時(shí),隨著技術(shù)的成熟還會(huì)有許多地方需要改進(jìn),特別是UI部分的易用性。AJAX開發(fā)與傳統(tǒng)的C/S開發(fā)有很大的不同。這些不同引入了新的編程問題,最大的問題在于易用性。由于AJAX依賴瀏覽器的JavaScript

20、和XML,瀏覽器的兼容性和支持的標(biāo)準(zhǔn)也變得和JavaScript的運(yùn)行時(shí)性能一樣重要了。這些問題中的大部分來源于瀏覽器、服務(wù)器和技術(shù)的組合,因此必須理解如何才能最好的使用這些技術(shù)。綜合各種變化的技術(shù)和強(qiáng)耦合的客戶服務(wù)端環(huán)境,AJAX提出了一種新的開發(fā)方式。AJAX開發(fā)人員必須理解傳統(tǒng)的MVC架構(gòu),這限制了應(yīng)用層次之間的邊界。同時(shí),開發(fā)人員還需要考慮C/S環(huán)境的外部和使用AJAX技術(shù)來重定型MVC邊界。最重要的是,AJAX開發(fā)人員必須禁止以頁面集合的方式來考慮Web應(yīng)用而需要將其認(rèn)為是單個(gè)頁面。一旦UI設(shè)計(jì)與服務(wù)架構(gòu)之間的范圍被嚴(yán)格區(qū)分開來后,開發(fā)人員就需要更新和變化的技術(shù)集合了。1.2.1 A

21、JAX的優(yōu)點(diǎn)傳統(tǒng)的web應(yīng)用允許用戶填寫表單 (form),當(dāng)提交表單時(shí)就向web服務(wù)器發(fā)送一個(gè)請(qǐng)求。服務(wù)器接收并處理傳來的表單,然後返回一個(gè)新的網(wǎng)頁。這個(gè)做法浪費(fèi)了許多帶寬,因?yàn)樵谇搬醿蓚€(gè)頁面中的大部分HTML代碼往往是相同的。由于每次應(yīng)用的交互都需要向服務(wù)器發(fā)送請(qǐng)求,應(yīng)用的響應(yīng)時(shí)間就依賴于服務(wù)器的響應(yīng)時(shí)間。這導(dǎo)致了用戶界面的響應(yīng)比本地應(yīng)用慢得多。與此不同,AJAX應(yīng)用可以僅向服務(wù)器發(fā)送并取回必需的數(shù)據(jù),它使用SOAP或其它一些基于XML的web service接口,并在客戶端采用JavaScript處理來自服務(wù)器的響應(yīng)。因此在服務(wù)器和瀏覽器之間交換的數(shù)據(jù)大量減少,結(jié)果我們就能看到響應(yīng)更快的

22、應(yīng)用。同時(shí)很多的處理工作可以在發(fā)出請(qǐng)求的客戶端機(jī)器上完成,所以Web服務(wù)器的處理時(shí)間也減少了。使用AJAX的最大優(yōu)點(diǎn),就是能在不更新整個(gè)頁面的前提下維護(hù)數(shù)據(jù)。這使得Web應(yīng)用程序更為迅捷地回應(yīng)用戶動(dòng)作,并避免了在網(wǎng)絡(luò)上發(fā)送那些沒有改變過的信息。AJAX不需要任何瀏覽器插件,但需要用戶允許JavaScript在瀏覽器上執(zhí)行。就像DHTML應(yīng)用程序那樣,AJAX應(yīng)用程序必須在眾多不同的瀏覽器和平臺(tái)上經(jīng)過嚴(yán)格的測(cè)試。隨著AJAX的成熟,一些簡化AJAX使用方法的程序庫也相繼問世。同樣,也出現(xiàn)了另一種輔助程序設(shè)計(jì)的技術(shù),為那些不支持JavaScript的用戶提供替代功能。JavaScript代碼甚至可

23、以對(duì)收到的數(shù)據(jù)執(zhí)行某種計(jì)算,再發(fā)送另一個(gè)請(qǐng)求,完全不需要用戶干預(yù)!這就是XMLHttpRequest的強(qiáng)大之處。它可以根據(jù)需要自行與服務(wù)器進(jìn)行交互,用戶甚至可以完全不知道幕后發(fā)生的一切。結(jié)果就是類似于桌面應(yīng)用程序的動(dòng)態(tài)、快速響應(yīng)、高交互性的體驗(yàn),但是背后又擁有互聯(lián)網(wǎng)的全部強(qiáng)大力量。圖1-2展示了傳統(tǒng)的web請(qǐng)求與AJAX請(qǐng)求的差異。圖1-2傳統(tǒng)web請(qǐng)求響應(yīng)與AJAX請(qǐng)求響應(yīng)的比較1.3 Servlet介紹Servlet是在服務(wù)器上運(yùn)行的小程序。這個(gè)詞是在Javaapplet的環(huán)境中創(chuàng)造的,Java applet是一種當(dāng)作單獨(dú)文件跟網(wǎng)頁一起發(fā)送的小程序,它通常用于在客戶端運(yùn)行,結(jié)果得到為用戶進(jìn)

24、行運(yùn)算或者根據(jù)用戶互作用定位圖形等服務(wù)。服務(wù)器上需要一些程序,常常是根據(jù)用戶輸入訪問數(shù)據(jù)庫的程序。這些通常是使用公共網(wǎng)關(guān)接口(CGI(Common Gateway Interface))應(yīng)用程序完成的。然而,在服務(wù)器上運(yùn)行Java,這種程序可使用Java編程語言實(shí)現(xiàn)。在通信量大的服務(wù)器上,JavaServlet的優(yōu)點(diǎn)在于它們的執(zhí)行速度更快于CGI程序。各個(gè)用戶請(qǐng)求被激活成單個(gè)程序中的一個(gè)線程,而無需創(chuàng)建單獨(dú)的進(jìn)程,這意味著服務(wù)器端處理請(qǐng)求的系統(tǒng)開銷將明顯降低。HTTPServlet使用一個(gè) HTML 表單來發(fā)送和接收數(shù)據(jù)。要?jiǎng)?chuàng)建一個(gè)HTTPServlet,請(qǐng)擴(kuò)展HttpServlet類, 該類

25、是用專門的方法來處理 HTML表單的 GenericServlet 的一個(gè)子類。 HTML 表單是由 和 標(biāo)記定義的。表單中典型地包含輸入字段(如文本輸入字段、復(fù)選框、單選按鈕和選擇列表)和用于提交數(shù)據(jù)的按鈕。當(dāng)提交信息時(shí),它們還指定服務(wù)器應(yīng)執(zhí)行哪一個(gè)Servlet(或其它的程序)。 HttpServlet 類包含 init()、destroy()、service() 等方法。其中 init() 和 destroy() 方法是繼承的。1.3.1 Servlet主要方法(1) init() 方法在 Servlet 的生命期中,僅執(zhí)行一次 init() 方法。它是在服務(wù)器裝入 Servlet 時(shí)執(zhí)

26、行的。 可以配置服務(wù)器,以在啟動(dòng)服務(wù)器或客戶機(jī)首次訪問 Servlet 時(shí)裝入 Servlet。 無論有多少客戶機(jī)訪問 Servlet,都不會(huì)重復(fù)執(zhí)行 init() 。缺省的 init() 方法通常是符合要求的,但也可以用定制 init() 方法來覆蓋它,典型的是管理服務(wù)器端資源。 例如,可能編寫一個(gè)定制 init() 來只用于一次裝入 GIF 圖像,改進(jìn) Servlet 返回 GIF 圖像和含有多個(gè)客戶機(jī)請(qǐng)求的性能。另一個(gè)示例是初始化數(shù)據(jù)庫連接。缺省的 init() 方法設(shè)置了 Servlet 的初始化參數(shù),并用它的 ServletConfig 對(duì)象參數(shù)來啟動(dòng)配置, 因此所有覆蓋 init(

27、) 方法的 Servlet 應(yīng)調(diào)用 super.init() 以確保仍然執(zhí)行這些任務(wù)。在調(diào)用 service() 方法之前,應(yīng)確保已完成了 init() 方法。(2) service() 方法service() 方法是 Servlet 的核心。每當(dāng)一個(gè)客戶請(qǐng)求一個(gè)HttpServlet 對(duì)象,該對(duì)象的service() 方法就要被調(diào)用,而且傳遞給這個(gè)方法一個(gè)請(qǐng)求(ServletRequest)對(duì)象和一個(gè)響應(yīng)(ServletResponse)對(duì)象作為參數(shù)。 在 HttpServlet 中已存在 service() 方法。缺省的服務(wù)功能是調(diào)用與 HTTP 請(qǐng)求的方法相應(yīng)的 do 功能。例如, 如果

28、 HTTP 請(qǐng)求方法為 GET,則缺省情況下就調(diào)用 doGet() 。Servlet 應(yīng)該為 Servlet 支持的 HTTP 方法覆蓋 do 功能。因?yàn)?HttpServlet.service() 方法會(huì)檢查請(qǐng)求方法是否調(diào)用了適當(dāng)?shù)奶幚矸椒ǎ槐匾采w service() 方法。只需覆蓋相應(yīng)的 do 方法就可以了。Servlet的響應(yīng)可以是下列幾種類型:一個(gè)輸出流,瀏覽器根據(jù)它的內(nèi)容類型(如text/HTML)進(jìn)行解釋。一個(gè)HTTP錯(cuò)誤響應(yīng), 重定向到另一個(gè)URL、servlet、JSP。(3)doGet()方法當(dāng)一個(gè)客戶通過HTML表單發(fā)出一個(gè)HTTP GET請(qǐng)求或直接請(qǐng)求一個(gè)URL時(shí),d

29、oGet()方法被調(diào)用。與GET請(qǐng)求相關(guān)的參數(shù)添加到URL的后面,并與這個(gè)請(qǐng)求一起發(fā)送。當(dāng)不會(huì)修改服務(wù)器端的數(shù)據(jù)時(shí),應(yīng)該使用doGet()方法。(4)doPost()方法當(dāng)一個(gè)客戶通過HTML 表單發(fā)出一個(gè)HTTP POST請(qǐng)求時(shí),doPost()方法被調(diào)用。與POST請(qǐng)求相關(guān)的參數(shù)作為一個(gè)單獨(dú)的HTTP 請(qǐng)求從瀏覽器發(fā)送到服務(wù)器。當(dāng)需要修改服務(wù)器端的數(shù)據(jù)時(shí),應(yīng)該使用doPost()方法。(5) destroy() 方法destroy() 方法僅執(zhí)行一次,即在服務(wù)器停止且卸裝Servlet 時(shí)執(zhí)行該方法。典型的,將 Servlet 作為服務(wù)器進(jìn)程的一部分來關(guān)閉。缺省的 destroy() 方法

30、通常是符合要求的,但也可以覆蓋它,典型的是管理服務(wù)器端資源。例如,如果 Servlet 在運(yùn)行時(shí)會(huì)累計(jì)統(tǒng)計(jì)數(shù)據(jù),則可以編寫一個(gè) destroy() 方法,該方法用于在未裝入 Servlet 時(shí)將統(tǒng)計(jì)數(shù)字保存在文件中。另一個(gè)示例是關(guān)閉數(shù)據(jù)庫連接。(6) GetServletConfig()方法GetServletConfig()方法返回一個(gè) ServletConfig 對(duì)象,該對(duì)象用來返回初始化參數(shù)和ServletContext。ServletContext 接口提供有關(guān)servlet 的環(huán)境信息。(7) GetServletInfo()方法GetServletInfo()方法是一個(gè)可選的方法,

31、它提供有關(guān)servlet 的信息,如作者、版本、版權(quán)。當(dāng)服務(wù)器調(diào)用sevlet 的Service()、doGet()和doPost()這三個(gè)方法時(shí),均需要 請(qǐng)求和響應(yīng)對(duì)象作為參數(shù)。請(qǐng)求對(duì)象提供有關(guān)請(qǐng)求的信息,而響應(yīng)對(duì)象提供了一個(gè)將響應(yīng)信息返回給瀏覽器的一個(gè)通信途徑。當(dāng)服務(wù)器卸裝 Servlet 時(shí),將在所有 service() 方法調(diào)用完成后,或在指定的時(shí)間間隔過后調(diào)用 destroy() 方法。一個(gè)Servlet 在運(yùn)行service() 方法時(shí)可能會(huì)產(chǎn)生其它的線程,因此請(qǐng)確認(rèn)在調(diào)用 destroy() 方法時(shí),這些線程已終止或完成。Servlet的工作原理如圖1-3所示。圖1-3 Serv

32、let工作原理圖1.4 JS 介紹JS即JavaScript,是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語言。同時(shí)也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML(標(biāo)準(zhǔn)通用標(biāo)記語言的子集)網(wǎng)頁添加動(dòng)態(tài)功能,比如響應(yīng)用戶的各種操作。它最初由網(wǎng)景公司(Netscape)的Brendan Eich設(shè)計(jì),是一種動(dòng)態(tài)、弱類型、基于原型的語言,內(nèi)置支持類。JavaScript是Sun公司(已被oracle收購)的注冊(cè)商標(biāo)。Ecma國際以JavaScript為基礎(chǔ)制定了ECMAScript標(biāo)準(zhǔn)。JavaScript也可以用于其他場(chǎng)合,如服務(wù)器端編程。完整的JavaScript實(shí)現(xiàn)包含三

33、個(gè)部分:ECMAScript,文檔對(duì)象模型,瀏覽器對(duì)象模型。JavaScript程序是由若干語句組成的,語句是編寫程序的指令。JavaScript提供了完整的基本編程語句,它們是:賦值語句、switch選擇語句、while循環(huán)語句、for循環(huán)語句、for each循環(huán)語句、dowhile循環(huán)語句、break循環(huán)中止語句、continue循環(huán)中斷語句、with語句、trycatch語句、if語句(if.else,ifelse if)。函數(shù)是命名的語句段,這個(gè)語句段可以被當(dāng)作一個(gè)整體來引用和執(zhí)行。使用函數(shù)要注意以下幾點(diǎn): (1)函數(shù)由關(guān)鍵字function定義(也可由Function構(gòu)造函數(shù)構(gòu)造)

34、。 (2)使用function關(guān)鍵字定義的函數(shù)在一個(gè)作用域內(nèi)是可以在任意處調(diào)用的(包括定義函數(shù)的語句前);而用var關(guān)鍵字定義的必須定義后才能被調(diào)用。 (3)函數(shù)名是調(diào)用函數(shù)時(shí)引用的名稱,區(qū)分大小寫,調(diào)用函數(shù)時(shí)不可寫錯(cuò)函數(shù)名。 (4)參數(shù)表示傳遞給函數(shù)使用或操作的值,它可以是常量,也可以是變量,也可以是函數(shù),在函數(shù)內(nèi)部可以通過arguments對(duì)象(arguments對(duì)象是一個(gè)偽數(shù)組,屬性callee引用被調(diào)用的函數(shù))訪問所有參數(shù)。 (5)return語句用于返回表達(dá)式的值。 (6)yield語句扔出一個(gè)表達(dá)式,并且中斷函數(shù)執(zhí)行直到下一次調(diào)用next。JavaScript的一個(gè)重要功能就是面向

35、對(duì)象的功能,通過基于對(duì)象的程序設(shè)計(jì),可以用更直觀、模塊化和可重復(fù)使用的方式進(jìn)行程序開發(fā)。1.5 Jquery 介紹Jquery是繼prototype之后又一個(gè)優(yōu)秀的Javascript框架。它是輕量級(jí)的js庫 ,它兼容CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),Jquery2.0及后續(xù)版本將不再支持IE6/7/8瀏覽器。Jquery使用戶能更方便地處理HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用)、events、實(shí)現(xiàn)動(dòng)畫效果,并且方便地為網(wǎng)站提供AJAX交互。Jquery還有一個(gè)比較大的優(yōu)勢(shì)是,它的文檔說明很全,而且各種應(yīng)用也說得

36、很詳細(xì),同時(shí)還有許多成熟的插件可供選擇。Jquery能夠使用戶的html頁面保持代碼和html內(nèi)容分離,也就是說,不用再在html里面插入一堆js來調(diào)用命令了,只需定義id即可。Jquery是一個(gè)兼容多瀏覽器的javascript框架,核心理念是write less,do more(寫得更少,做得更多)。Jquery在2006年1月由美國人John Resig在紐約的barcamp發(fā)布,吸引了來自世界各地的眾多JavaScript高手加入,由Dave Methvin率領(lǐng)團(tuán)隊(duì)進(jìn)行開發(fā)。如今,Jquery已經(jīng)成為最流行的javascript框架,在世界前10000個(gè)訪問最多的網(wǎng)站中,有超過55%在

37、使用Jquery。Jquery是免費(fèi)、開源的,使用MIT許可協(xié)議。Jquery的語法設(shè)計(jì)可以使開發(fā)者更加便捷,例如操作文檔對(duì)象、選擇DOM元素、制作動(dòng)畫效果、事件處理、使用Ajax以及其他功能。除此以外,Jquery提供API讓開發(fā)者編寫插件。其模塊化的使用方式使開發(fā)者可以很輕松的開發(fā)出功能強(qiáng)大的靜態(tài)或動(dòng)態(tài)網(wǎng)頁。1.5.1 Jquery的功能目前Jquery主要提供如下功能: (1)訪問頁面框架的局部。這是 DOM 模型所完成的主要工作之一, DOM獲取頁面中某個(gè)節(jié)點(diǎn)或者某一類節(jié)點(diǎn)有固定的方法,而Jquery則大大地簡化了其操作的步驟。 (2) 修改頁面的表現(xiàn)(Presentation)。CS

38、S 的主要功能就是通過樣式風(fēng)格來修改頁面的表現(xiàn)。然而由于各個(gè)瀏覽器對(duì) CSS3 標(biāo)準(zhǔn)的支持程度不同,使得很多CSS 的特性沒能很好地體現(xiàn)。Jquery 的出現(xiàn)很好地解決了這個(gè)問題,它通過封裝好的 JavaScript 代碼,使得各種瀏覽器都能很好地使用 CSS3 標(biāo)準(zhǔn),極大地豐富了 CSS 的運(yùn)用。 (3)更改頁面的內(nèi)容。通過強(qiáng)大而方便的 API修改文本的內(nèi)容、插入新的圖片、表單的選項(xiàng),甚至整個(gè)頁面的框架。 (4)響應(yīng)事件。JavaScript 有處理事件的相關(guān)方法,而引入 Jquery 之后,可以更加輕松地處理事件,而且開發(fā)人員不再需要考慮討厭的瀏覽器兼容性問題。 (5)為頁面添加動(dòng)畫。通常

39、在頁面中添加動(dòng)畫都需要開發(fā)大量的 JavaScript代碼,而 Jquery大大簡化了這個(gè)過程。Jquery的庫提供了大量可自定義參數(shù)的動(dòng)畫效果。 (6)與服務(wù)器異步交互。Ajax框架可以簡化代碼的編寫,Jquery也提供了一整套Ajax 相關(guān)的操作,大大方便了異步交互的開發(fā)和使用。 (7)簡化常用的 JavaScript操作。Jquery還提供了很多附加的功能來簡化常用的 JavaScript操作,例如數(shù)組的操作、迭代運(yùn)算等。第二章 系統(tǒng)概要設(shè)計(jì)2.1 需求分析2.1.1 用戶需求分析通過對(duì)繪本館現(xiàn)有模式的研究, 發(fā)現(xiàn)繪本書籍一般都比較貴,如果純粹自購的話,將是一筆不小的開支。而且,有些繪本

40、沒有必要收藏。為解決上述的不便,設(shè)計(jì)開發(fā)出“微納繪本館”,結(jié)合線上線下的模式,提供在線預(yù)覽功能,同時(shí)提供繪本借閱,使用戶可以不用購買就能夠欣賞繪本,同時(shí)也提供訂購繪本的功能。2.1.2 功能需求分析本系統(tǒng)功能模塊主要包括會(huì)員功能模塊,管理員功能模塊。本系統(tǒng)需要滿足以下幾點(diǎn)要求:(1) 會(huì)員功能模塊需要滿足用戶使用繪本館系統(tǒng)的一系列操作。1. 搜索繪本2. 查看和修改個(gè)人信息3. 添加和刪除借書架4. 查看借閱繪本信息5. 預(yù)約借閱和取消預(yù)約6. 訂購繪本和刪除訂單7. 添加和刪除收藏(2)管理員功能模塊需要滿足管理員使用繪本館系統(tǒng)的一系列操作。1. 用戶管理2. 繪本管理3. 借閱管理4. 預(yù)

41、約借閱管理5. 訂單管理6. 收藏管理2.2 開發(fā)及運(yùn)行環(huán)境根據(jù)需求調(diào)研的反饋,確定如下的系統(tǒng)環(huán)境: 網(wǎng)絡(luò)環(huán)境:互聯(lián)網(wǎng); 運(yùn)行環(huán)境:n 操作系統(tǒng):linux、windows XP 、windows7n 服務(wù)器: tomcat 6.0n 數(shù)據(jù)庫:MySQL 5.0 開發(fā)環(huán)境:n 操作系統(tǒng):windows7n 服務(wù)器:tomcat 6.0n 數(shù)據(jù)庫: MySQL 5.0n 開發(fā)工具: myeclipse10.02.3系統(tǒng)功能規(guī)劃根據(jù)需求調(diào)研,將系統(tǒng)功能劃分為如表2-1的各個(gè)模塊,各個(gè)模塊又各自劃分子模塊,由上往下,一個(gè)模塊一個(gè)模塊地開發(fā),保證開發(fā)順序清晰,以方便在項(xiàng)目實(shí)現(xiàn)設(shè)計(jì)及編碼的任務(wù),才能有效

42、地管理項(xiàng)目的開發(fā)進(jìn)度。表2-1系統(tǒng)功能劃分清單模塊編號(hào)模塊名稱子模塊編號(hào)子模塊名稱備注100會(huì)員功能00搜索繪本用戶根據(jù)條件和關(guān)鍵字搜索繪本01個(gè)人信息用戶個(gè)人信息的查看、修改02我的借書架刪除借書架、預(yù)約借閱、03我的購物車刪除購物車、訂購繪本04我的借閱用戶借閱信息的查看05我的預(yù)約借閱用戶預(yù)約借閱信息的查看、取消預(yù)約06我的訂單用戶訂單信息的查看、刪除、支付訂單07我的收藏用戶收藏的查看、加入借書架、購物車200管理員功能00用戶管理查看用戶信息01繪本管理對(duì)繪本信息的增、刪、改、查02借閱管理查看用戶借閱信息、歸還繪本03預(yù)約借閱管理取消預(yù)約、確認(rèn)借閱、設(shè)置租借款04訂單管理查看、刪除

43、用戶訂單信息、訂單發(fā)貨05收藏管理查看、刪除用戶收藏信息2.4系統(tǒng)設(shè)計(jì)2.4.1會(huì)員功能圖2-1 會(huì)員功能模塊用例圖如圖2-1是會(huì)員功能模塊用例圖,功能包括:1. 搜索繪本:用戶根據(jù)條件和關(guān)鍵字搜索繪本。2. 查看和修改個(gè)人信息:用戶可查看和修改個(gè)人信息。3. 添加和刪除借書架:用戶可添加繪本到借書架和刪除借書架里的繪本。4. 查看借閱繪本信息:用戶可查看自己借閱的繪本信息。5. 預(yù)約借閱和取消預(yù)約:用戶可預(yù)約借閱繪本和取消預(yù)約。6. 訂購繪本和刪除訂單:用戶可訂購繪本和刪除訂單。7添加和刪除收藏:用戶可添加和刪除收藏2.4.1管理員功能圖2-2 管理功能模塊用例圖如圖2-2是管理員功能模塊用

44、例圖,功能包括:1. 用戶管理:查看用戶信息。2. 繪本管理:對(duì)繪本信息的增、刪、改、查。3. 借閱管理:查看用戶借閱信息、歸還繪本。4. 預(yù)約借閱管理:取消預(yù)約、確認(rèn)借閱、設(shè)置租借款。5. 訂單管理:查看、刪除用戶訂單信息、訂單發(fā)貨。6. 收藏管理:查看、刪除用戶收藏信息。第三章 系統(tǒng)詳細(xì)設(shè)計(jì) 3.1 技術(shù)架構(gòu)該系統(tǒng)采用JSP+Servlet的兩層結(jié)構(gòu),分為表現(xiàn)層和數(shù)據(jù)服務(wù)層。兩層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問等工作放到數(shù)據(jù)服務(wù)層處理,客戶端不直接與數(shù)據(jù)庫交互,而是通過Servlet與數(shù)據(jù)庫交互。表現(xiàn)層主要使用JSP的表現(xiàn)層標(biāo)簽。使用表現(xiàn)層標(biāo)簽簡化表現(xiàn)層邏輯,同時(shí),使用JS和Jquery和操作頁面

45、元素,實(shí)現(xiàn)頁面動(dòng)態(tài)化,使用AJAX和后臺(tái)數(shù)據(jù)交互,提高用戶體驗(yàn),實(shí)現(xiàn)異步刷新。系統(tǒng)技術(shù)架構(gòu)圖如圖3-1所示:圖3-1系統(tǒng)技術(shù)架構(gòu)圖3.2 源碼組織項(xiàng)目的源代碼結(jié)構(gòu)如圖3-2所示:PictureBooksrc-系統(tǒng)的源代碼com -系統(tǒng)源碼的包 Web App Libraries -MySQL驅(qū)動(dòng)包WebRoot-表現(xiàn)層的相關(guān)資源存放目錄WEB-INF-存放web配置images -表現(xiàn)層圖片存放目錄script-表現(xiàn)層js文件存放目錄 style-web的樣式表存放目錄upload -表現(xiàn)層圖片上傳存放目錄圖3-2項(xiàng)目的源代碼結(jié)構(gòu)圖3.3 ER圖設(shè)計(jì)系統(tǒng)的ER圖設(shè)計(jì)如圖3-3所示:圖3-3 系

46、統(tǒng)ER圖設(shè)計(jì)3.4 類圖設(shè)計(jì)圖3-4系統(tǒng)類圖設(shè)計(jì)如圖3-4是系統(tǒng)的設(shè)計(jì)類圖。其中User是用戶信息類;PictureBook是繪本信息類;Borrow是用戶借閱繪本類;Preview是用戶預(yù)約借閱類;Order是用戶訂單類;Collect是用戶收藏類;Bookshelf是用戶借書架;ShoppingCart是用戶購物車類。3.5數(shù)據(jù)庫設(shè)計(jì)圖3-5數(shù)據(jù)庫表結(jié)構(gòu)示意圖系統(tǒng)的數(shù)據(jù)庫的表結(jié)構(gòu)示意圖如圖3-5所示。其中User是用戶信息表,用于存儲(chǔ)用戶相關(guān)信息;PictureBook是繪本表,用于存儲(chǔ)繪本相關(guān)信息;Image是圖片表,用于存儲(chǔ)繪本圖片相關(guān)信息;Kind是繪本主題表,用于存儲(chǔ)繪本主題類型;

47、Publish是出版社表,用于存儲(chǔ)出版社信息;Bookshelf是借書架表,用于存儲(chǔ)用戶借書架上繪本的相關(guān)信息;ShoppingCart是購物車表,用于存儲(chǔ)用戶購物車上繪本的相關(guān)信息;Borrow是用戶借閱表,用于存儲(chǔ)用戶借閱繪本的相關(guān)信息;Preview是用戶預(yù)約借閱表,用于存儲(chǔ)用戶預(yù)約借閱繪本的相關(guān)信息;UserOrder是用戶訂單表,用于存儲(chǔ)用戶訂單的相關(guān)信息;OrderDetail是用戶訂單詳細(xì)表,用于存儲(chǔ)訂單的繪本的詳細(xì)信息;Collect是用戶收藏表,用于存儲(chǔ)用戶收藏繪本的相關(guān)信息。3.6結(jié)構(gòu)設(shè)計(jì)3.6.1表現(xiàn)層設(shè)計(jì)在表現(xiàn)層的設(shè)計(jì)上,采用了JSP的標(biāo)簽,JSP的標(biāo)簽相當(dāng)于Html的

48、標(biāo)簽,JSP頁面在Html的頁面里嵌入了Java語言,提取頁面元素,然后向后臺(tái)傳送數(shù)據(jù),后臺(tái)獲得數(shù)據(jù)后對(duì)數(shù)據(jù)庫進(jìn)行操作,然后再把數(shù)據(jù)返回前臺(tái)JSP頁面,利用這樣的模式完成用戶的一系列操作。在表現(xiàn)層里使用了JS和Jquery這兩個(gè)語言選取和操作頁面元素,使頁面能夠動(dòng)態(tài)化,然后再通過AJAX將獲取的數(shù)據(jù)傳到后臺(tái),后臺(tái)返回?cái)?shù)據(jù)給AJAX,再用這數(shù)據(jù)對(duì)頁面進(jìn)行操作,實(shí)現(xiàn)異步刷新,提高用戶的體驗(yàn)。AJAX是一種異步傳輸技術(shù),在構(gòu)建表現(xiàn)層的時(shí)候非常方便實(shí)用,能在不刷新網(wǎng)頁的情況下動(dòng)態(tài)改變局部頁面,以滿足用戶的需求。表現(xiàn)層綜合運(yùn)用這幾種技術(shù),能夠?qū)崿F(xiàn)頁面動(dòng)態(tài)化和異步刷新,提高了網(wǎng)站的實(shí)用性。3.6.2數(shù)據(jù)層

49、設(shè)計(jì)在數(shù)據(jù)層的設(shè)計(jì)上面,本系統(tǒng)采用了Servlet獲取前臺(tái)AJAX傳來的請(qǐng)求,然后將獲取的數(shù)據(jù)對(duì)數(shù)據(jù)庫進(jìn)行操作,實(shí)現(xiàn)數(shù)據(jù)庫的增、刪、查、改,最后再通過response.getWriter().write()的方法向AJAX返回?cái)?shù)據(jù),以此來實(shí)現(xiàn)前臺(tái)和后臺(tái)數(shù)據(jù)的交互。創(chuàng)建一個(gè)Servlet類,具體流程如下: 在com包下創(chuàng)建其實(shí)現(xiàn)類,如RegisterServlet ; 配置相關(guān)Servlet信息 ;Servlet的相關(guān)配置信息可以在“/WebRoot/WEB-INF/web.xml”這個(gè)文件中找到,部分具體信息如下:web-app version=3.0 xmlns= xmlns:xsi=htt

50、p://2001/XMLSchema-instance xsi:schemaLocation= index.jsp RegisterServlet com.RegisterServlet RegisterServlet /register.do LoginServlet com.LoginServlet LoginServlet /login.do 3.7 詳細(xì)設(shè)計(jì)說明3.7.1用戶預(yù)約借閱用戶要想借閱繪本首先就得在繪本館系統(tǒng)上提交預(yù)約申請(qǐng),當(dāng)用戶成功填寫預(yù)約借閱信息,提交預(yù)約申請(qǐng)后,會(huì)生成相應(yīng)的預(yù)約借閱信息,然后等待用戶前去繪本館借閱,只有管理員確認(rèn)借閱了才算是借閱成功,

51、用戶預(yù)約借閱功能由Preview類的addPreview()方法實(shí)現(xiàn)。3.7.2用戶訂購繪本用戶要想訂購繪本首先就得在繪本館系統(tǒng)上提交訂購繪本申請(qǐng),用戶可自用選擇要訂購的繪本,然后選擇加入購物車,填好訂購繪本信息以及配送信息,然后提交訂單,當(dāng)用戶提交成功后會(huì)生成一個(gè)訂單,然后用戶可以選擇支付,當(dāng)用戶支付成功后由管理員選擇發(fā)貨,由此完成訂購繪本的流程。用戶訂購繪本的功能由Order類的addOrder()方法實(shí)現(xiàn)。3.7.3管理員繪本管理管理員可以對(duì)繪本進(jìn)行管理,可以實(shí)現(xiàn)繪本的增、刪、查、改,及時(shí)上傳新繪本,和更改相應(yīng)的繪本信息,實(shí)現(xiàn)對(duì)繪本的管理。當(dāng)管理員上傳新繪本或更新繪本信息時(shí),用戶都能及時(shí)

52、的查看到,實(shí)現(xiàn)系統(tǒng)實(shí)時(shí)更新。管理員繪本管理功能由PictureBook類的addPictureBook()和updatePictureBook()和deletePictureBook()方法實(shí)現(xiàn)。3.7.4管理員預(yù)約借閱管理管理員可以對(duì)用戶的預(yù)約借閱進(jìn)行管理,當(dāng)用戶提交預(yù)約申請(qǐng)時(shí),管理員可以查看到用戶預(yù)約信息,如果用戶到截止借閱時(shí)間還未前來借閱,就可以取消其預(yù)約,當(dāng)用戶在借閱期內(nèi)前來借閱,可以確認(rèn)其信息,然后確認(rèn)添加借閱,使用戶真正借閱到繪本。管理員借閱管理功能由Preview類的addPreview()和deletePreview方法實(shí)現(xiàn)。3.7.5管理員借閱管理管理員可以對(duì)用戶的借閱進(jìn)行管理,管理員可以查看用戶的借閱信息,以了解用戶的借閱需求,當(dāng)用戶看完繪本前來歸還的時(shí)候,可以使用歸還繪本功能,使繪本真正歸還到繪本館,然后會(huì)根據(jù)用戶借閱的天數(shù)計(jì)算應(yīng)付的租借款,實(shí)現(xiàn)自動(dòng)計(jì)算化。管理員借閱管理功能由Borrow類的addBorrow()和deleteBorrow()方法實(shí)現(xiàn)。第四章 系統(tǒng)實(shí)現(xiàn) 4.1運(yùn)行環(huán)境 系統(tǒng):Windows 7

溫馨提示

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

評(píng)論

0/150

提交評(píng)論