JBuilder2005實戰JSP之程式功能介紹(1)
作者:Eve Cole
更新時間:2009-07-02 17:11:01
使用者登入模組程式的結構圖如下圖所示:
![](https://images.downcodes.com/u/info_img/2009-07/02/2878_305083.gif) 圖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產生。 |
這兩張資料庫表和序列的結構如下:
![](https://images.downcodes.com/u/info_img/2009-07/02/1261_305085.gif) 圖2 資料表及序列 |
資料庫使用者名稱/密碼是:jbuser/abc。在著手開發我們的登入模組前,必須先在資料庫中建立用戶,建立生成表和序列。