利用SSH框架實現使用者登入功能

2021-06-22 18:16:18 字數 1874 閱讀 5792

由於是登入功能,要用到表單,所以相應的就要用到actionform,寫乙個類,繼承於actionform類,由於已經有乙個pojo物件了,所以不用再寫eneity物件。直接在裡面例項化乙個pojo物件user,並提供set()與get()方法。**如下:

private user user=new user();

public user getuser()

public void setuser(user user)

在dao層要進行資料庫的互動,進行相關的查詢,**:

public listcheckloginuser(user user) throws daoexception );

}catch(runtimeexception ex)

return userlist;

}這裡對將傳入的物件作為查詢條件,將查詢到的結果作為乙個list集合返回到service層進行資料的加工。其中gethibernatetemplate().find()方法有多種過載方式,這裡用的是gethibernatetemplate().find(hqlstring,object),這裡第乙個引數是hql語句,可以有佔位符,第二個引數是乙個陣列,用來設定語句中佔位符的值。

service層**:

public boolean checkloginuserinfo(user user) throws serviceexception

} return false;

} 程式進行處理的是action,所以寫乙個類,繼承自dispatchaction類,在裡面寫乙個checkuserlogin()方法,由於web層依賴於service層,採用的是注入的方式,所以必須提供set()方法。**如下:

private manageruserservice manageruserservice;

public void setmanageruserservice(manageruserservice manageruserservice)

checkuserlogin()方法**如下:

最終返回值為boolean型別,驗證成功後將user物件放入session中,可以方便在下級頁面當中顯示當前登入使用者。然後進行相應的**。

delegatingactionproxy會根據配置檔案裡的依賴關係,最終將請求交由userloginaction處理。

前台登入頁面中form的action屬性應該是userlogin?dispatch=checkuserlogin,這裡dispatch的值要和userloginaction驗證登入的方法名相一致。使用者名稱和密碼表單的name值應當是userloginform中user物件的相應屬性。要不然actionform不會自動進行資料的封裝!

由於在action中已經將登入時例項化的物件放到了session當中:

session.setattribute("user", userloginform.getuser());

所以當登入成功後,就可以在**到的頁面當中通過el表示式$獲取當前登入的使用者。

雖然說這只是乙個簡單的使用者登入功能,但是出現的知識點很多,而且很容易出錯!比如今天我就在前台的頁面中寫錯了表單的name屬性,導致在登入頁面一點登入就錯誤,也沒法下手設定斷點進行除錯……所以,在以後的專案中,一定要細心!

QT實現使用者登入功能

功能 1.提供登入介面 客戶端 2.伺服器端用資料庫來儲存使用者名稱和密碼 3.註冊時客戶端將註冊資訊傳送給伺服器端,並進行驗證,如果註冊名可用,新增進資料庫並返回客戶端新增成功資訊。4.登入時客戶端將登入資訊傳送給伺服器端進行驗證,服務端返回驗證結果。待新增 1.伺服器端併發功能實現 includ...

通過ssh協議實現使用者key認證登入

author jevonwei 主機a 192.168.198,134 主機b 192.168.198,131 主機c 192.168.198,136 主機a秘鑰連線主機c 4.ssh copy id i ssh id rsa.pub danran 192.168.198.136 複製本機的公鑰檔案...

Django實現使用者登入

今天的文章基於之前做的配置,實現乙個具體的功能demo 登入。在login的templates目錄下建立兩個模板,分別是login.html和home.html,當使用者未登入時,跳轉到login.html頁面,登陸成功或者登入狀態,跳轉到home.html。url的配置主要有兩個,django d...