資源描述:
《JSP教程_JavaBean實(shí)現(xiàn)用戶注冊(cè)登錄系統(tǒng)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、第14章JavaBean實(shí)現(xiàn)用戶注冊(cè)登錄系統(tǒng)本章將使用JavaBean來(lái)重新實(shí)現(xiàn)第12章的用戶注冊(cè)系統(tǒng),JavaBean可以實(shí)現(xiàn)代碼重用,以及使得業(yè)務(wù)邏輯、存取數(shù)據(jù)等操作和JSP頁(yè)面代碼相分離,這樣可以使整個(gè)系統(tǒng)結(jié)構(gòu)更加清晰。雖然JavaBean可以部分實(shí)現(xiàn)控制層(Control)和視圖層(View)的相互獨(dú)立,但是它并沒(méi)有完全實(shí)現(xiàn)MVC開(kāi)發(fā)模式,有關(guān)MVC概念和實(shí)現(xiàn)過(guò)程將在本書(shū)的高級(jí)部分介紹。本章要點(diǎn)包括以下內(nèi)容:?JavaBean的環(huán)境配置?使用JavaBean重新實(shí)現(xiàn)用戶注冊(cè)系統(tǒng)?使用登錄驗(yàn)證碼功能?MD5轉(zhuǎn)碼技術(shù)14.1JavaBean環(huán)境
2、配置創(chuàng)建的JavaBean類文件(此處是已經(jīng)被編譯好的*.class文件)應(yīng)該保存在Web模塊的WEB-INF/classes目錄下。Tomcat容器會(huì)自動(dòng)加載Web模塊的WEB-INF/classes目錄下所有class類文件。如果以第12章的Register模塊為例,則存放Class類文件的目錄為Register/WEB-INF/classes。注意:Register/WEB-INF/classes目錄下的所有class類文件都不是后綴為java的源代碼文件。在使用Lomboz+Eclipse創(chuàng)建Register模塊的時(shí)候,Lomboz會(huì)自動(dòng)在
3、Web模塊的根目錄下創(chuàng)建src和j2src兩個(gè)源文件夾。本章將使用j2src源文件夾來(lái)存放JavaBean源代碼文件,刪除src文件夾(使用不到該文件夾)。JavaBean的環(huán)境配置步驟如下:(1)右擊MyRegister項(xiàng)目,選擇“Properties”命令,彈出如圖14.1所示的對(duì)話框。(2)單擊左邊的“JavaBuildPath”選項(xiàng),然后選擇“Source”選項(xiàng)卡,如圖14.1所示?!?84·Eclipse從入門到精通圖14.1配置JavaBean環(huán)境變量(3)選中下方的“Allowoutputfoldersforsourcefolders
4、”選項(xiàng),單擊“Edit”按鈕來(lái)編輯MyRegister/j2src的輸出文件夾,彈出如圖14.2所示的對(duì)話框。(4)單擊“Browse”按鈕,按照?qǐng)D14.2所示設(shè)置class文件的輸入目錄,此處的輸出目錄為Register/WEB-INF/classes。單擊“OK”按鈕完成輸出文件夾的設(shè)置。圖14.2選擇class文件輸出文件夾(5)在如圖14.1所示對(duì)話框中把src源文件夾刪除,否則MyProject項(xiàng)目會(huì)起沖突。這樣的配置之后,創(chuàng)建的JavaBean源代碼將保存在j2src目錄下。相應(yīng)的class文件(Java源文件編譯之后的文件)會(huì)自動(dòng)生成
5、在“Register/WEB-INF/classes”目錄下,達(dá)到了源文件和class文件的相互分離。注意:使用Eclipse工具開(kāi)發(fā)JavaBean時(shí),是不需要手動(dòng)來(lái)編譯Java文件的。在j2src目錄下每創(chuàng)建一個(gè)Java文件,系統(tǒng)會(huì)自動(dòng)在“Register/WEB-INF/classes”目錄下生成一個(gè)相應(yīng)的class文件,這樣大大提高了開(kāi)發(fā)效率。14.2創(chuàng)建JavaBean在十二章中創(chuàng)建的用戶注冊(cè)系統(tǒng)是由純JSP實(shí)現(xiàn)的,即所有的數(shù)據(jù)庫(kù)操作、業(yè)務(wù)邏輯控制等等都是在JSP文件中實(shí)現(xiàn)的,把這種模式稱為Model1體系結(jié)構(gòu)。這樣的開(kāi)發(fā)模式比較適合小型
6、應(yīng)用和初學(xué)者使用,代碼比較集中,對(duì)初學(xué)者比較容易理解。當(dāng)需要開(kāi)發(fā)一個(gè)非常龐大的應(yīng)用系統(tǒng)時(shí),它的很多缺點(diǎn)都會(huì)明顯的暴露出來(lái):?代碼重復(fù):把大量的業(yè)務(wù)邏輯、數(shù)據(jù)庫(kù)操作等語(yǔ)句直接寫(xiě)到JSP文件中,會(huì)使得代碼大量的重復(fù),在修改的時(shí)候也可能會(huì)出現(xiàn)遺漏。?可維護(hù)性差:把業(yè)務(wù)邏輯與顯示邏輯寫(xiě)在一起,JSP頁(yè)面會(huì)顯得非?;靵y,使得后期維護(hù)非常的困難,而且要求開(kāi)發(fā)人員要對(duì)HTML以及程序設(shè)計(jì)語(yǔ)言都要很有經(jīng)驗(yàn),不便于工作的分工。?可測(cè)試性差:使用Model1模式開(kāi)發(fā)的應(yīng)用很難進(jìn)行測(cè)試。這樣會(huì)增加很多的工作量。為了降低代碼重復(fù)性,可以將共用代碼寫(xiě)在一個(gè)獨(dú)立JSP文件中,
7、然后在需要調(diào)用的JSP文件用使用來(lái)引用該外部文件。這樣雖然在一點(diǎn)程度上解決了問(wèn)題,但是可測(cè)試性還是很差,而且整個(gè)系統(tǒng)結(jié)構(gòu)不夠清晰,當(dāng)JSP文件越來(lái)越多時(shí),會(huì)顯得非?;靵y。這一章將使用JavaBean來(lái)重新實(shí)現(xiàn)用戶注冊(cè)系統(tǒng)。將一些邏輯操作獨(dú)立出來(lái)寫(xiě)到JavaBean類中,然后在JSP文件進(jìn)行調(diào)用,從而使得JSP文件更多地只負(fù)責(zé)數(shù)據(jù)顯示功能。JavaBean可以部分實(shí)現(xiàn)試圖層和控制層的相互獨(dú)立。本章需要?jiǎng)?chuàng)建的JavaBean類文件以及所在包的情況如圖14.3所示。第18章常用插件擴(kuò)展點(diǎn)·185·圖14.3JavaBean類文件目錄創(chuàng)建
8、的各JavaBean類文件需要實(shí)現(xiàn)的功能如下:?DBConnect.java數(shù)據(jù)庫(kù)操作類:創(chuàng)建數(shù)據(jù)連接以及實(shí)現(xiàn)數(shù)據(jù)庫(kù)基本操