1. 程式人生 > >登錄模塊的實現

登錄模塊的實現

ger 證明 重新 結果 信息 操作 工具類 servlet 登錄頁面

1、模塊介紹

  以JSP+Servlet+JavaBean模式進行開發,系統流程圖如下:

  用戶登錄之前需要進行註冊,在註冊成功後通過註冊的用戶名和密碼進行登錄,登錄失敗可以根據系統提示重新登錄,登錄成功後進入主頁。

  技術分享圖片

2、關鍵技術

  本實例采用MVC模式進行開發,戰士了模型層(Model)、視圖層(View)和控制層(Controller)的結構體系,程序設計結構如下圖所示:

  程序為用戶提供了JSP頁面進行戰士,如用戶註冊頁面reg.jsp、用戶登錄頁面login.jsp等。這些JSP頁面是程序的視圖層(View),對於用戶而言,通過這一層與程序進行交互,同時交互後的結果也是通過這一層回應給用戶。

  用戶對程序的請求以及程序對用戶所作出的回應由控制層(Conrtroller)掌管,本實例中表現為Servlet,如用戶註冊Servlet、用戶登錄Servlet等。當用戶發送一個請求時,Servlet將判斷用戶的請求類型,進而提供相應的業務邏輯處理方法進行處理;請求由程序處理完畢後,又由Servlet控制返回處理的結果信息。此層也是程序的核心部分。

   技術分享圖片

3、數據庫設計

  本實例只涉及一數據表,名稱為tb_user。此表為用戶信息表,用於存放用戶的註冊信息,其結構如圖表示:

Column Name Datatype NOT NULL AUTO INC Default Value Comment
id Integer null 主鍵
username varchar(45) null 用戶名
password varchar(45) null 密碼
sex varchar(45) null 性別
photo varchar(45) null 頭像
email varchar(45) null 郵箱
tel varchar(45) null 聯系電弧

4、JavaBean設計

  本實例設計3個主要的JavaBean組件,分別為用戶實例對象User、用戶數據庫操作對象UserDao類、數據庫連接工具類DataBaseUtil。

  ①、用戶實體對象

    User類用於封裝用戶屍體對象,提供了用戶對象的詳細信息以及相應的get和set方法。

  ②、數據庫連接工具類

    對於經常用到的操作可以將其封裝一個類,在類中提供了相應的操作方法,從而增強了代碼的重用性。

  ③、用戶數據庫操作

    與用戶相關的數據庫操作方法封裝在UserDao類中,此類提供了實例中所用到的數據添加和查找方法,其中userIsExit()方法用於查找指定用戶名在數據庫是否存在,返回布爾值。

    在用戶提交註冊信息時,需要判斷所提交的用戶名是否已被註冊,如果用戶名已被占用則不能再次被註冊。用戶名是用戶信息的標識,在提交註冊信息時可以使用userIsExit()進行判斷

    用戶提交註冊信息後,需要對用戶信息進行持久化,以保證用戶憑其信息可以登錄。這就需要在UserDao類中提供用戶信息持久化的方法,其名稱為saveUser()。

    註冊成功後,用戶即可通過註冊的用戶名及密碼進行登錄。對於程序而言,此操作實質就是根據用戶所提供的用戶名及密碼查詢用戶信息,如果查詢成功,證明在數據庫中存在於之匹配的信息,則登錄成功。這一操作通過UserDao類的login()方法實現。

5、實現過程

  ①用於註冊

   創建名為RegServlet的類(即處理用戶註冊請求的servlet對象),通過doPost()方法對用戶註冊請求 進行處理。在處理過程中,首先通過request獲取用戶的註冊信息,然後通過UserDao類的userIsExit()方法判斷所提交的用戶名是否已被註冊,如果沒有註冊則將用戶提交的註冊信息寫入數據庫中,否則進行錯誤處理;對於用戶註冊的結果信息由mesage.jsp頁面予以顯示。

  創建視圖層(為用戶提供的註冊頁面),名稱為reg.jsp,在其中提供給用戶註冊的表單。此表一post提交方式將請求發送到RegServlet,RegServlet類將根據用戶提供的用戶信息進行相應處理。

  ②用戶登錄

   創建名為LoginServlet的類(即處理用戶登錄請求的Servlet),通過doPost()方法對用戶登錄進行處理。在獲取用戶提供的用戶名和密碼後,通過UserDao類的login()方法查詢用戶信息,如果查詢到的用戶信息不為null,則用戶登錄成功,將獲取到的用戶對象寫入到Session中,否則進行相應的錯誤處理。

   創建視圖層(為用戶提供的登錄頁面),名稱為login.jsp,在其中提供登錄表單。

  ③用戶退出

   用戶退出請求由UserExitServlet類進行處理,它是一個Servlet對象。此類通過doGet()方法對退出請求進行操作,此操作需要將存放在session中的User對象逐出。

  ④提示信息頁面

   程序在處理業務請求後,需要告知用戶處理結束,如用戶註冊成功、用戶登錄失敗等,所以實例中提供了message.jsp頁面。

  ⑤Servlet配置

  

   

登錄模塊的實現