

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 用Servlet和JSP實現(xiàn)注冊登錄系統(tǒng)</p><p> 注冊登錄系統(tǒng)幾乎是每一個web程序必須擁有的功能,因此,在本次課程設(shè)計中將其單獨提取出來,并使用Servlet和JSP技術(shù)來實現(xiàn)這個系統(tǒng)。雖然注冊和登錄系統(tǒng)并不復(fù)雜,但這兩個子系統(tǒng)卻擁有一個完整系統(tǒng)的必要功能,如驗證客戶端輸入、數(shù)據(jù)庫訪問等。因此,通過本次課程設(shè)計的練習(xí),大家可以基本上了解使用JSP/Servlet技術(shù)開發(fā)一個完整
2、系統(tǒng)的一般步驟。</p><p> 本次課程設(shè)計的主要內(nèi)容有:</p><p><b> 系統(tǒng)概述</b></p><p><b> 設(shè)計數(shù)據(jù)庫</b></p><p><b> MD5加密的實現(xiàn)</b></p><p><b> 注
3、冊系統(tǒng)的實現(xiàn)</b></p><p><b> 登錄系統(tǒng)的實現(xiàn)</b></p><p><b> 系統(tǒng)概述</b></p><p> 本次課程設(shè)計練習(xí)了一個簡單的Web系統(tǒng),該系統(tǒng)實現(xiàn)了用戶注冊、用戶登錄兩個功能。本系統(tǒng)的實現(xiàn)是基于Servlet和JSP技術(shù)的。本系統(tǒng)功能單一,業(yè)務(wù)邏輯簡單。主要用于大家練
4、習(xí)如何使用Servlet和JSP技術(shù)開發(fā)一個完整的Web系統(tǒng)。</p><p><b> 系統(tǒng)功能簡介</b></p><p> 本系統(tǒng)分為兩個功能:注冊和登錄,當(dāng)用戶注冊一個新用戶時(可以使用英文和中文用戶名),就是向數(shù)據(jù)庫的t_users表中添加一條記錄。</p><p> 當(dāng)用戶輸入注冊信息時,本系統(tǒng)提供了基本的客戶端驗證,來判斷用
5、戶輸入的合法性,只有當(dāng)用戶的輸入滿足系統(tǒng)的要求時,才會將用戶輸入的數(shù)據(jù)提交到服務(wù)器端負責(zé)處理注冊信息的Servlet。在注冊Servlet成功處理完用戶提交的注冊信息后,客戶端仍然會回到注冊頁面。如果用戶想使用已經(jīng)注冊的用戶名來登錄,可以通過單擊“登錄”超鏈接轉(zhuǎn)到登錄頁面進行登錄。</p><p> 當(dāng)用戶在登錄頁面正確輸入用戶名、密碼和驗證碼時,就可以成功登錄了。在用戶登錄頁面也擁有和用戶注冊頁面類似的客戶端
6、驗證機制。也就是說,只有當(dāng)用戶名和密碼都輸入時,系統(tǒng)才會向服務(wù)器端負責(zé)登錄的Servlet提交信息。通過驗證用戶名和密碼都正確,系統(tǒng)才允許登錄。</p><p><b> 系統(tǒng)總體結(jié)構(gòu)</b></p><p> 本系統(tǒng)的注冊系統(tǒng)和登錄系統(tǒng)是相互獨立的,但可以通過使用注冊和登錄系統(tǒng)的相應(yīng)超鏈接導(dǎo)航到另一個系統(tǒng)中。每一個系統(tǒng)分別由一個處理業(yè)務(wù)邏輯的Servlet和若干
7、個JSP頁面組成。其中注冊系統(tǒng)的Servlet是Register類,另外還有一個用于顯示用戶注冊頁面的register.jsp文件和一個負責(zé)顯示處理結(jié)果的result.jsp文件。登錄系統(tǒng)的Servlet是Login類,另外還有一個login.jsp文件和一個表示用戶已經(jīng)成功登錄的main.jsp文件。用戶注冊登錄系統(tǒng)的工作流程圖如下圖所示:</p><p> 圖1:注冊登錄系統(tǒng)工作流程圖</p>
8、<p> 從圖1可以看出,當(dāng)Register處理完用戶提交的注冊信息后,會向result.jsp提交一個結(jié)果信息,在result.jsp中會顯示注冊成功提示信息,然后如果注冊不成功,都會返回到register.jsp頁面,以便用戶重新輸入注冊信息。</p><p><b> 設(shè)計數(shù)據(jù)庫</b></p><p> 在注冊登錄系統(tǒng)中只涉及一個t_user
9、s表,這個表對于注冊系統(tǒng)來說,每處理一個正確的注冊信息后,就會向這個表添加一條記錄。對于登錄系統(tǒng)來說,每當(dāng)用戶輸入正確的登錄信息和驗證碼后,系統(tǒng)就會在t_users表中查找相關(guān)的記錄,以確定當(dāng)前登錄用戶和密碼是否合法。下面將給出這個表的表結(jié)構(gòu)。如表1所示:</p><p> 表1:t_users表的結(jié)構(gòu)</p><p><b> 實現(xiàn)系統(tǒng)的基礎(chǔ)類</b></
10、p><p> 在這一部分內(nèi)容中將實現(xiàn)在注冊登錄系統(tǒng)中使用的一些重要的類,如用于連接和操作數(shù)據(jù)庫的DBServlet類、用于對字符串進行MD5加密的Encrypter類以及實現(xiàn)圖形驗證碼的ValidationCode類。這些類在整個系統(tǒng)中都起著舉足輕重的作用。</p><p> 3.1實現(xiàn)訪問數(shù)據(jù)庫的DBServlet類</p><p> DBServlet實際上是
11、一個Servlet類,由于注冊系統(tǒng)和登錄系統(tǒng)都需要訪問和操作數(shù)據(jù)庫,因此,將這些功能都封裝在DBServlet類中,然后Login類和Register類從DBServlet類繼承,這樣,Login類和Register類就都可以訪問和操作數(shù)據(jù)庫了。DBServlet類有以下3個功能:</p><p> 連接數(shù)據(jù)庫。創(chuàng)建一個Connection對象。這個功能在service方法中完成。</p><
12、;p> 執(zhí)行SQL。如果所執(zhí)行的SQL是select語句,就返回ResultSet對象,否則返回null。這個功能通過execSQL方法完成。</p><p> DBServlet類的實現(xiàn)代碼請查看DBServlet.java文件</p><p> 3.2實現(xiàn)MD5加密</p><p> 本系統(tǒng)保存在數(shù)據(jù)庫中的密碼是通過MD5算法加密的。在JDK中提供
13、了實現(xiàn)MD5算法的類。通過java.security.MessageDigest類的getInstance方法可以獲得支持MD5算法的MessageDigest對象實例。關(guān)于MD5加密,詳見關(guān)于MD5加密.doc文檔。</p><p> 由于被MD5算法加密后的字符串中可能含有非可視的字符,這些字符可能無法保存在數(shù)據(jù)庫中,因此,需要將被加密后的字符串再次使用Base64格式進行編碼。實現(xiàn)MD5加密的完整代碼見
14、Encrypter.java</p><p><b> 實現(xiàn)注冊系統(tǒng)</b></p><p> 在這個系統(tǒng)中,有一個處理用戶提交的注冊信息的Register類,除此之外,還有一個register.jsp,這個頁面負責(zé)顯示注冊頁面。當(dāng)Register類處理完注冊信息后,如果注冊成功,會轉(zhuǎn)向result.jsp頁面,如果注冊不成功,則直接返回register.jsp,
15、可以重新注冊。</p><p> 實現(xiàn)注冊Servlet類</p><p> Register類負責(zé)處理用戶提交的注冊信息。如果注冊信息正確,就向t_users表中添加一條記錄,否則,會通過消息對話框顯示出現(xiàn)消息。</p><p> 在開始處理用戶注冊信息之前,需要先調(diào)用DBServlet類的service方法來連接數(shù)據(jù)庫。然后向t_users表中插入記錄之前
16、,需要先判斷一下用戶輸入的用戶名或者密碼是否有效,如果用戶名和密碼輸入都合法,就使用insert語句向t_users表中根據(jù)用戶輸入的信息插入一條記錄。如果無法成功插入記錄,說明該用戶名在t_users表中已經(jīng)存在了。為了更穩(wěn)妥,我們可以先使用select語句來查詢用戶名是否存在,然后再向t_users表中插入記錄。</p><p> Register類的完整代碼見Register.java。</p>
17、;<p> 實現(xiàn)注冊系統(tǒng)的主頁面</p><p> Register.jsp頁面是顯示了用戶輸入注冊信息的頁面。在register.jsp中使用<form>向Register類提交注冊信息。</p><p> register.jsp頁面的代碼見register.jsp。</p><p><b> 實現(xiàn)結(jié)果JSP頁面<
18、;/b></p><p> 在Register類處理完注冊信息后,如果注冊成功,就會轉(zhuǎn)向到result.jsp頁面。這個頁面顯示了注冊成功的結(jié)果,并且可以直接通過超鏈,轉(zhuǎn)向到登錄頁面login.jsp。結(jié)果頁面代碼詳見result.jsp</p><p><b> 實現(xiàn)登錄系統(tǒng)</b></p><p> 在這個系統(tǒng)中有一個處理用戶提
19、交的登錄信息的Login類。除此之外,還有一個login.jsp頁面,該頁面負責(zé)采集用戶登錄信息。當(dāng)Login類處理完登錄信息后,如果登錄成功,系統(tǒng)就會轉(zhuǎn)到main.jsp頁面,否則會返回到登錄頁面login.jsp,要求用戶輸入信息,重新登錄。</p><p> 實現(xiàn)登錄Servlet</p><p> Login類負責(zé)處理用戶提交的登錄信息。這個類和Register類的工作流程類似
20、。它的實現(xiàn)代碼詳見Login.java。</p><p> 在代碼中使用select語句從t_users表中查找登錄用戶是否存在,如果存在,就將加密后的登錄密碼和從t_users表中查找的密碼進行比較,如果匹配,就表示登錄成功,并轉(zhuǎn)入main.jsp頁面。在這里,main.jsp頁面只是一個表示登錄成功的頁面,里面并沒有什么實質(zhì)性的東西,只是顯示了登錄成功的信息。</p><p> 注
21、意:在開發(fā)的時候,不能直接把main.jsp頁面放在WebRoot目錄中,因為這樣,用戶就可以通過地址欄直接訪問這個頁面,而繞過了身份驗證。所以,我們把main.jsp頁面可以放在WebRoot\WEB-INF\pages下面,其中pages是自己新建的文件夾,WEB-INF中的文件在客戶端瀏覽器是無法直接訪問的,一般需要驗證才能訪問的頁面都應(yīng)該放在WEB-INF目錄及其子目錄中。</p><p><b&g
22、t; 實現(xiàn)登錄系統(tǒng)主頁面</b></p><p> login.jsp顯示了用戶登錄頁面。在login.jsp頁面中使用<form>標(biāo)簽向Login提交登錄信息。它的代碼詳見login.jsp。</p><p><b> 小結(jié)</b></p><p> 本系統(tǒng)演示了如何使用Servlet和JSP來開發(fā)一個基于JD
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java_web課程設(shè)計報告--論壇系統(tǒng)用戶注冊界面的設(shè)計
- java課程設(shè)計報告---java實現(xiàn)畫筆系統(tǒng)
- 用戶注冊系統(tǒng)課程設(shè)計
- java課程設(shè)計--酒店管理系統(tǒng)
- java課程設(shè)計---即時聊天系統(tǒng)
- java課程設(shè)計-文件管理系統(tǒng)
- java課程設(shè)計超市收銀系統(tǒng)
- java課程設(shè)計
- java課程設(shè)計----課程設(shè)計報告
- java課程設(shè)計--學(xué)籍管理系統(tǒng)
- java學(xué)生管理系統(tǒng)課程設(shè)計
- java課程設(shè)計報告---考試系統(tǒng)
- java課程設(shè)計(班級管理系統(tǒng))
- java網(wǎng)絡(luò)測試系統(tǒng)_課程設(shè)計
- java課程設(shè)計學(xué)籍管理系統(tǒng)
- 學(xué)生管理系統(tǒng)課程設(shè)計(java)
- java課程設(shè)計-- 新聞發(fā)布系統(tǒng)
- 學(xué)生管理系統(tǒng)-java課程設(shè)計
- 學(xué)生管理系統(tǒng)課程設(shè)計(java)
- java課程設(shè)計--酒店管理系統(tǒng)
評論
0/150
提交評論