![]() 圖 1 實例頁面流轉圖 |
用戶在登錄頁面中錄入密碼、驗證正確后轉向歡迎主頁面,如果輸入的密碼錯誤,導向登錄失敗頁面。這個模塊包含6個JSP文件、3個Java類及兩張后臺表。
6個JSP文件分別為用戶登錄、頁面流轉控制、錯誤處理、登錄成功和失敗、以及退出系統的處理頁面,簡單介紹如下:
表 1 JSP文件
JSP頁面 | 說明 |
login.jsp | 登錄JSP頁面 |
switch.jsp | 進行密碼驗證和頁面流轉控制的JSP頁面。 |
error.jsp | 錯誤處理JSP頁面,以一種友好的方式向客戶報告程序的錯誤。為其他所有JSP頁面的錯誤處理頁面。 |
welcome.jsp | 登錄成功后轉向的歡迎頁面。我們在該頁面中引用了一套第三方的標簽庫。 |
fail.jsp | 登錄失敗后轉向這個錯誤處理頁面。 |
quit.jsp | 退出系統后調用的頁面,它負責清除session,結束會話。 |
JSP文件主要負責頁面的展現,而業務邏輯或資源處理等功能可以放到Java類中,表單數據則可以通過Bean來封裝,模塊中提供了3個類,介紹如下:
表 2 3個Java類
類 | 說明 |
DBConnection | 獲取數據庫的連接。 |
User | 描述用戶對象并負責寫登錄、退出日志。 |
UserList | 獲取系統的所有用戶并轉換為一個網頁下拉框。 |
用戶信息及用戶登錄信息用數據庫表來存放,選擇Oracle 9i作為我們的數據庫,當然,你也可以使用其他類型的數據庫,只要相應地調整DBConnection類和表SQL定義語句就可以了,這種移植的代價是很小的,下面介紹這兩張表的用途和結構:
表 3 2張數據庫表
表名 | 說明 |
T_USER | 用戶信息表,包含用戶ID、用戶名及密碼3個字段。 |
T_LOGIN_LOG | 記錄用戶登錄的時間和退出的時間,日志主鍵利用一個序列SEQ_LOGIN_LOG_ID產生。 |
這兩張數據庫表和序列的結構如下:
![]() 圖 2 數據表及序列 |
數據庫用戶名/密碼是:jbuser/abc。在著手開發我們的登錄模塊前,必須先在數據庫中創建用戶,創建生成表和序列。