項目基于之前的文章繼續更新:
主要更新:
- 使用
保持使用者登陸狀态Session
-
處理登陸和退出請求servlet
- 根據
中的Session
類型判斷使用者類型,給定其對應的導航type
講解:
dologin的響應
代碼變化:
登陸表單目标位址由
dologin.jsp
變為
dologin
,并且
dologin
隻會響應POST請求,GET請求這個位址,直接跳轉到
login.jsp
頁面。
效果:
dologin對POST請求正常處理,原因是重寫了servlet。
代碼如下:
這裡有一個小坑,就是賬戶驗證不成功直接顯示的中文會有亂碼,字元集問題搞了大半天還是沒有解決,打算通過跳轉錯誤頁面來解決這個問題,正式部署生産項目不需要直接顯示,都是通過對應資訊的頁面來處理,是以也不是什麼大事,希望能早日找到原因。
登陸成功後
POST正确送出,并且驗證成功後,會跳轉到
profile.jsp
頁面,
profile.jsp
通過讀取Session過來的值判斷狀态,并且根據使用者類型,顯示對應的導航。
實作代碼如下:
logout退出登陸
通過servlet增加注冊session的功能,不管GET方式到這個位址,還是POST方式到這個位址都會進行正常退出賬戶登陸和清除session。
實作代碼:
感興趣的同學可以通路
GitHub看到這個項目。