在使用服務端驗證的時候,因為各種需求的不同,可以用作一下的幾個處理。
使用sql語句的驗證
就是在寫sql語句的時候,進行使用者名稱和密碼的匹配查詢。如:where name = ? and password = ?。在客戶端請求時,在servlet層獲取使用者名稱和密碼引數。並呼叫該方法,如果返回有值,則驗證通過。反之,不通過。
通過這種方法。在客戶端提示頁面錯誤資訊的時候,可能體驗感不是太好。因為不能準確的提示使用者,是使用者名稱輸入錯誤,還是密碼輸入錯誤。
//獲取請求的使用者名稱和引數
string name = req.
getparameter
("name");
string password = req.
getparameter
("password");
//方法類
userdao userdao =
newuserdao()
;//通過sql驗證
list
user = userdao.
finduser
(name,password)
;//判斷
if(user.
size()
>0)
else
使用list集合儲存後台資料資訊,再進行驗證
寫sql語句的時候是獲取後台所有的資料資訊。如:select * from 表。在客戶端請求時,在servlet層獲取使用者名稱和密碼引數。並遍歷list集合,把list中的使用者名稱和密碼與servlet獲取到的引數進行比較驗證。
通過這種方法。在驗證後處理頁面的跳轉資訊的時候。很難去處理。
下面的方法進行處理後,可以使使用者介面出現錯誤是得到較好的體驗。
//獲取請求的引數
string name = req.
getparameter
("name");
string password = req.
getparameter
("password");
//方法類
userdao userdao =
newuserdao()
;// 獲取後台所有的使用者資訊 sql語句:select * from user
list
findalluser = userdao.
findalluser()
;//把list集合中的使用者名稱和密碼單獨抽離封裝成乙個集合
list
collectname = findalluser.
stream()
.map
(user:
:getname)
.collect
(collectors.
tolist()
);list
collectpassword = findalluser.
stream()
.map
(user:
:getpassword)
.collect
(collectors.
tolist()
);//進行驗證
if(collectname.
contains
(name)
)else
}else
CAS服務端取消https驗證
客戶覺得cas證書的提示太煩了,想去掉,又不想花錢認證證書,這兩天閒暇之時看了一下最新的cas文章,自己也配置了一套apache2.2 tomcat7 casserver 3.4.8 casclient3.2的配置,實現了負載均衡下tomcat集群中的cas認證,並使用了https的方式和http認...
HTTP服務端JSON服務端
最後更新日期 2014 5 18 author kagula 內容簡介 cppcms是個開源web開發框架,通過它可以很容易實現http服務和json服務,這裡介紹cppcms開發環境的搭建。寫乙個cppcms測試程式,它建立http服務,向瀏覽器返回hello,world頁面。cppcms依賴的一...
服務端大量CLOSE WAIT問題
服務端大量close wait問題.md 現象描述 服務端使用了quartz框架之後,剛開始啟動jetty容器的時候,請求正常,大概幾個請求完了之後,部分mac機子出現客戶端一直在請求,但是返回給客戶端的資訊是異常,服務端壓根沒有收到請求,或者收到請求 執行的非常慢 使用命令 lsof i 8080...