使用者登入案例 初級

2021-09-29 08:47:52 字數 3446 閱讀 9773

* 使用者登入案例需求:

1.編寫login.html登入頁面

username & password 兩個輸入框

2.使用druid資料庫連線池技術,操作mysql,day14資料庫中user表

3.使用jdbctemplate技術封裝jdbc

5.登入失敗跳轉到failservlet展示:登入失敗,使用者名稱或密碼錯誤

一、編寫login.html頁面

這個很簡單,注意

"/day14_test/loginservlet" method="post">
action 要設定成能跳轉的路徑

二、使用druid連線庫連線池技術

這個是重點難點,連線的步驟我必須要背出來,學jdbc時是看的尚矽谷宋紅康的教程,黑馬這個老師教的可能和他有些出入,待會要複習的時候我會看黑馬的jdbc教程。

1.建立連線第一步:先定義乙個連線池物件:

private

static datasource ds;

這個時候該連線池為空,因為還沒獲取。

2.接下來獲取連線池物件

public

static datasource getdatasource01()

建立乙個獲取連線池方法,再用druid工廠建立連線池,用靜態**塊1.載入配置檔案2.初始化連線池物件:

properties pro =

newproperties()

;inputstream is = jdbcutils.

class

.getclassloader()

.getresourceasstream

("druid.properties");

pro.

load

(is)

;ds = druiddatasourcefactory.

createdatasource

(pro)

;

注意有異常要用try,catch我就不複製過來了

3.獲取連線connection物件

public

static connection getconnection01()

throws sqlexception

注意:這步在改程式中沒用到過,我把這行注釋了不影響結果,連線池不需要手動獲取連線物件嗎?還是說這一步是給多使用者同時使用做的?

用druid需要匯入jar包。

三、使用jdbctemplate技術封裝jdbc

1.這一步的操作是mvc中的c,需要對資料庫進行操作了

先宣告jdbctemplate物件公用:

private jdbctemplate template =

newjdbctemplate

(jdbcutils.

getdatasource01()

);

2.接下裡編寫sql語句,呼叫query方法

因為需要把結果封裝成乙個物件,方法queryforobject就很適合

public user login

(user loginuser)

異常的處理省略,返回的是乙個完整的user物件,即通過登入時輸入的使用者名稱和密碼得到了在資料庫中對應的user。

3.接下裡不急寫**,資料庫連線步驟到此已經完全結束了,先測試一下資料庫是否成功連線

public

void

test01()

密碼錯誤的話會拋異常,所以需要在userdao中加限定條件,捕獲到那個異常,返回null,否則返回正常資料庫中的值。

四、開始編寫loginservlet

1.設定編碼:

request.

setcharacterencoding

("utf-8"

);

2.獲取請求引數,也就是介面輸入返回的訊息:

string loginusername = request.

getparameter

("username");

string loginpassword = request.

getparameter

("password"

);

得到了這個訊息後,和資料庫中的資料對比,和測試方法類似

3.如果成功,也就是正常返回乙個user物件,那麼:

request.

setattribute

("user"

,user)

;

儲存該物件,然後跳轉頁面:

request.

getrequestdispatcher

("/successservlet").

forward

(request,response)

;

值得注意的是,這裡是跳轉而不是重定向,所以位址列的內容都不會變,還是這個:

在successservlet中,給頁面寫一句話,先設定編碼

response.

setcontenttype

("text/html;charset=utf-8"

);

然後獲取域中儲存的user物件,並輸出使用者名稱

user user =

(user)request.

getattribute

("user");

response.

getwriter()

.write

(user.

getusername()

+",歡迎您"

);

4.如果失敗

request.

getrequestdispatcher

("/failservlet").

forward

(request,response)

;

直接跳轉到failservlet中,同上。

至此,使用者登入案例完畢。

python案例 使用者登入

要求 輸入使用者名稱密碼 認證成功後顯示歡迎資訊 輸錯三次後鎖定 1 usr bin env python 2 coding utf 8 3 4 5 使用者登陸功能例項 6 1 獲取db檔案中所有的使用者資訊 7 2 比較使用者資訊 8 如果使用者名稱不存在,則直接退出 9 如果使用者名稱存在 10...

使用者登入案例 涉及web JDBC

使用者登入案例 案例需要 使用者登入案例需求 1.編寫login.html登入頁面 username password 兩個輸入框 2.使用druid資料庫連線池技術,操作mysql,day14資料庫中user表 3.使用jdbctemplate技術封裝jdbc 5.登入失敗跳轉到failservl...

oracle特定使用者登入失敗案例

昨晚收到開發的郵件,說使用pl sql dev登入資料庫時,出現如下錯誤,要求處理下 看到這個錯誤我也比較鬱悶,沒碰到過這種情況。於是手工建立了乙個測試使用者scott,發現遠端登入沒有問題的。此時考慮應該是資料庫中有些使用者限制了登入的。再看錯誤編號 ora 20001,oracle保留的異常錯誤...