①首先將登入憑證封裝成乙個類loginticket
public
class
loginticket
public
inte***ce
,#,#,#)"})
@options
(usegeneratedkeys =
true
, keyproperty =
"id"
)int
insertloginticket
(loginticket loginticket)
;@select("
})loginticket selectbyticket
(string ticket)
;@update
( where ticket=#"})
intupdatestatus
(string ticket,
int status);}
@test
public
void
testinsertloginticket()
@test
public
void
testselectloginticket()
④在服務層編寫登入邏輯,包括實現賬號密碼的驗證功能,生成登入憑證。這一層輸入的輸入值有賬號,密碼,有效期。
public map
login
(string username, string password,
int expiredseconds)
if(stringutils.
isblank
(password)
)//驗證賬號
selectbyname
(username);if
(user == null)
if(user.
getstatus()
==0)//驗證密碼
password = communityutil.
md5(password + user.
getsalt()
);if(
!user.
getpassword()
.equals
(password)
)//生成登入憑證
loginticket loginticket =
newloginticket()
; loginticket.
setuserid
(user.
getid()
);loginticket.
setticket
(communityutil.
generateuuid()
);loginticket.
setstatus(0
);loginticket.
setexpired
(new
date
(system.
currenttimemillis()
+ expiredseconds *
1000))
;insertloginticket
(loginticket)
; map.
put(
"ticket"
,loginticket.
getticket()
);return map;
}
⑤編寫表現層(controller)層的邏輯,(思維誤區:資料都是從前端.html檔案中讀入的,而不是controller層)
成功時給客戶端傳送乙個cookie,失敗時跳轉回登入頁
//檢查賬號密碼
int expiredseconds = rememberme? remember_expired_seconds : default_expired_seconds;
mapmap = userservice.
login
(username,password,expiredseconds);if
(map.
containskey
("ticket"))
else
}⑥配置好對應的.html檔案
public
void
logout
(string ticket)
表現層**:
(path =
"/logout"
, method = requestmethod.get)
public string logout
(@cookievalue
("ticket"
) string ticket)
完成對應的**.html**檔案的配置
牛客網社群專案 p3 1過濾敏感詞
定義字首樹 字首樹的定義只在,過濾敏感詞當中用到,故將其定義為乙個內部類 字首樹 private class trienode public void setkeywordend boolean keywordend 新增子節點 public void addsubnode character c,...
牛客網社群專案 p3 9統一異常處理
首先將錯誤頁面資料夾error放到template資料夾下 404錯誤頁面只需配置.html檔案即可,若使用者路徑輸錯,自動會呼叫顯示 500錯誤是伺服器短的錯誤,對它的處理如下所示 首先在homecontroller下新建乙個請求 path error method requestmethod.g...
牛客網資料開發題庫 牛客網資料庫SQL實戰(1)
查詢最晚入職員工的所有資訊 入門 需要查詢最晚入職員工的資訊,即查詢hire date最大的資料,使用倒序並取第乙個人即可。select from employees order by hire date desc limit 0,1 desc 使用order by時在後面加上desc表示倒序,即從...