JAVA課程設(shè)計注冊登錄系統(tǒng)_第1頁
JAVA課程設(shè)計注冊登錄系統(tǒng)_第2頁
JAVA課程設(shè)計注冊登錄系統(tǒng)_第3頁
JAVA課程設(shè)計注冊登錄系統(tǒng)_第4頁
JAVA課程設(shè)計注冊登錄系統(tǒng)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、用servlet和jsp實現(xiàn)注冊登錄系統(tǒng)注冊登錄系統(tǒng)幾乎是每一個web程序必須擁有的功能,因此,在本次課程設(shè)計中將其單獨提取出來,并使用servlet和jsp技術(shù)來實現(xiàn)這個系統(tǒng)。雖然注冊和登錄系統(tǒng)并不復雜,但這兩個子系統(tǒng)卻擁有一個完整系統(tǒng)的必要功能,如驗證客戶端輸入、數(shù)據(jù)庫訪問等。因此,通過本次課程設(shè)計的練習,大家可以基本上了解使用jsp/servlet技術(shù)開發(fā)一個完整系統(tǒng)的一般步驟。本次課程設(shè)計的主要內(nèi)容有:l 系統(tǒng)概述l 設(shè)計數(shù)據(jù)庫l md5加密的實現(xiàn)l 注冊系統(tǒng)的實現(xiàn)l 登錄系統(tǒng)的實現(xiàn)1、 系統(tǒng)概述本次課程設(shè)計練習了一個簡單的web系統(tǒng),該系統(tǒng)實現(xiàn)了用戶注冊、用戶登錄兩個功能。本系統(tǒng)的實

2、現(xiàn)是基于servlet和jsp技術(shù)的。本系統(tǒng)功能單一,業(yè)務(wù)邏輯簡單。主要用于大家練習如何使用servlet和jsp技術(shù)開發(fā)一個完整的web系統(tǒng)。1.1 系統(tǒng)功能簡介本系統(tǒng)分為兩個功能:注冊和登錄,當用戶注冊一個新用戶時(可以使用英文和中文用戶名),就是向數(shù)據(jù)庫的t_users表中添加一條記錄。當用戶輸入注冊信息時,本系統(tǒng)提供了基本的客戶端驗證,來判斷用戶輸入的合法性,只有當用戶的輸入滿足系統(tǒng)的要求時,才會將用戶輸入的數(shù)據(jù)提交到服務(wù)器端負責處理注冊信息的servlet。在注冊servlet成功處理完用戶提交的注冊信息后,客戶端仍然會回到注冊頁面。如果用戶想使用已經(jīng)注冊的用戶名來登錄,可以通過單擊

3、“登錄”超鏈接轉(zhuǎn)到登錄頁面進行登錄。當用戶在登錄頁面正確輸入用戶名、密碼和驗證碼時,就可以成功登錄了。在用戶登錄頁面也擁有和用戶注冊頁面類似的客戶端驗證機制。也就是說,只有當用戶名和密碼都輸入時,系統(tǒng)才會向服務(wù)器端負責登錄的servlet提交信息。通過驗證用戶名和密碼都正確,系統(tǒng)才允許登錄。1.2 系統(tǒng)總體結(jié)構(gòu)本系統(tǒng)的注冊系統(tǒng)和登錄系統(tǒng)是相互獨立的,但可以通過使用注冊和登錄系統(tǒng)的相應(yīng)超鏈接導航到另一個系統(tǒng)中。每一個系統(tǒng)分別由一個處理業(yè)務(wù)邏輯的servlet和若干個jsp頁面組成。其中注冊系統(tǒng)的servlet是register類,另外還有一個用于顯示用戶注冊頁面的register.jsp文件和一

4、個負責顯示處理結(jié)果的result.jsp文件。登錄系統(tǒng)的servlet是login類,另外還有一個login.jsp文件和一個表示用戶已經(jīng)成功登錄的main.jsp文件。用戶注冊登錄系統(tǒng)的工作流程圖如下圖所示:圖1:注冊登錄系統(tǒng)工作流程圖從圖1可以看出,當register處理完用戶提交的注冊信息后,會向result.jsp提交一個結(jié)果信息,在result.jsp中會顯示注冊成功提示信息,然后如果注冊不成功,都會返回到register.jsp頁面,以便用戶重新輸入注冊信息。2、 設(shè)計數(shù)據(jù)庫在注冊登錄系統(tǒng)中只涉及一個t_users表,這個表對于注冊系統(tǒng)來說,每處理一個正確的注冊信息后,就會向這個表

5、添加一條記錄。對于登錄系統(tǒng)來說,每當用戶輸入正確的登錄信息和驗證碼后,系統(tǒng)就會在t_users表中查找相關(guān)的記錄,以確定當前登錄用戶和密碼是否合法。下面將給出這個表的表結(jié)構(gòu)。如表1所示:表1:t_users表的結(jié)構(gòu)字 段 名類 型含 義user_namevarchar(20)用戶名password_md5varchar(50)密碼(md5加密字符串)emailvarchar(30)郵件地址3、 實現(xiàn)系統(tǒng)的基礎(chǔ)類在這一部分內(nèi)容中將實現(xiàn)在注冊登錄系統(tǒng)中使用的一些重要的類,如用于連接和操作數(shù)據(jù)庫的dbservlet類、用于對字符串進行md5加密的encrypter類以及實現(xiàn)圖形驗證碼的validat

6、ioncode類。這些類在整個系統(tǒng)中都起著舉足輕重的作用。3.1實現(xiàn)訪問數(shù)據(jù)庫的dbservlet類dbservlet實際上是一個servlet類,由于注冊系統(tǒng)和登錄系統(tǒng)都需要訪問和操作數(shù)據(jù)庫,因此,將這些功能都封裝在dbservlet類中,然后login類和register類從dbservlet類繼承,這樣,login類和register類就都可以訪問和操作數(shù)據(jù)庫了。dbservlet類有以下3個功能:連接數(shù)據(jù)庫。創(chuàng)建一個connection對象。這個功能在service方法中完成。執(zhí)行sql。如果所執(zhí)行的sql是select語句,就返回resultset對象,否則返回null。這個功能通過

7、execsql方法完成。dbservlet類的實現(xiàn)代碼請查看dbservlet.java文件3.2實現(xiàn)md5加密本系統(tǒng)保存在數(shù)據(jù)庫中的密碼是通過md5算法加密的。在jdk中提供了實現(xiàn)md5算法的類。通過java.security.messagedigest類的getinstance方法可以獲得支持md5算法的messagedigest對象實例。關(guān)于md5加密,詳見關(guān)于md5加密.doc文檔。由于被md5算法加密后的字符串中可能含有非可視的字符,這些字符可能無法保存在數(shù)據(jù)庫中,因此,需要將被加密后的字符串再次使用base64格式進行編碼。實現(xiàn)md5加密的完整代碼見 encrypter.java4

8、、 實現(xiàn)注冊系統(tǒng)在這個系統(tǒng)中,有一個處理用戶提交的注冊信息的register類,除此之外,還有一個register.jsp,這個頁面負責顯示注冊頁面。當register類處理完注冊信息后,如果注冊成功,會轉(zhuǎn)向result.jsp頁面,如果注冊不成功,則直接返回register.jsp,可以重新注冊。1. 實現(xiàn)注冊servlet類register類負責處理用戶提交的注冊信息。如果注冊信息正確,就向t_users表中添加一條記錄,否則,會通過消息對話框顯示出現(xiàn)消息。在開始處理用戶注冊信息之前,需要先調(diào)用dbservlet類的service方法來連接數(shù)據(jù)庫。然后向t_users表中插入記錄之前,需要

9、先判斷一下用戶輸入的用戶名或者密碼是否有效,如果用戶名和密碼輸入都合法,就使用insert語句向t_users表中根據(jù)用戶輸入的信息插入一條記錄。如果無法成功插入記錄,說明該用戶名在t_users表中已經(jīng)存在了。為了更穩(wěn)妥,我們可以先使用select語句來查詢用戶名是否存在,然后再向t_users表中插入記錄。register類的完整代碼見register.java。2. 實現(xiàn)注冊系統(tǒng)的主頁面register.jsp頁面是顯示了用戶輸入注冊信息的頁面。在register.jsp中使用向register類提交注冊信息。register.jsp頁面的代碼見register.jsp。3. 實現(xiàn)結(jié)果j

10、sp頁面在register類處理完注冊信息后,如果注冊成功,就會轉(zhuǎn)向到result.jsp頁面。這個頁面顯示了注冊成功的結(jié)果,并且可以直接通過超鏈,轉(zhuǎn)向到登錄頁面login.jsp。結(jié)果頁面代碼詳見result.jsp5、 實現(xiàn)登錄系統(tǒng)在這個系統(tǒng)中有一個處理用戶提交的登錄信息的login類。除此之外,還有一個login.jsp頁面,該頁面負責采集用戶登錄信息。當login類處理完登錄信息后,如果登錄成功,系統(tǒng)就會轉(zhuǎn)到main.jsp頁面,否則會返回到登錄頁面login.jsp,要求用戶輸入信息,重新登錄。1. 實現(xiàn)登錄servletlogin類負責處理用戶提交的登錄信息。這個類和registe

11、r類的工作流程類似。它的實現(xiàn)代碼詳見login.java。在代碼中使用select語句從t_users表中查找登錄用戶是否存在,如果存在,就將加密后的登錄密碼和從t_users表中查找的密碼進行比較,如果匹配,就表示登錄成功,并轉(zhuǎn)入main.jsp頁面。在這里,main.jsp頁面只是一個表示登錄成功的頁面,里面并沒有什么實質(zhì)性的東西,只是顯示了登錄成功的信息。注意:在開發(fā)的時候,不能直接把main.jsp頁面放在webroot目錄中,因為這樣,用戶就可以通過地址欄直接訪問這個頁面,而繞過了身份驗證。所以,我們把main.jsp頁面可以放在webrootweb-infpages下面,其中pages是自己新建的文件夾,web-inf中的文件在客戶端瀏覽器是無法直接訪問的,一般需要驗證才能訪問的頁面都應(yīng)該放在web-inf目錄及其子目錄中。2. 實現(xiàn)登錄系統(tǒng)主頁面login.jsp顯示了用戶登錄頁面。在login.jsp頁面中使用標簽向login提交登錄信息。

溫馨提示

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

評論

0/150

提交評論