一般咱們會遇到這樣的狀況,當咱們點擊想要獲取網站的某處URL資源的時候,會彈出提醒你要登錄的界面,在這裏展現一下可能的一種實現。java
框架:strutsweb
設計思路 :1.login.jsp實現登陸界面,將表單提交到後臺Action。瀏覽器
2.在Aciton中實現帳號密碼的驗證。若是驗證經過執行session.put("loginInfo",username);cookie
3.當須要獲取某個資源的時候(假設爲auth),先經過後臺interceptor(攔截器),期間經過session.get("loginInfo")判空,返回不一樣的值session
4. 在struts.xml配置 <action name="auth">中 result標籤實現返回值與物理資源的映射,能夠實現步驟3中session.get("loginInof")爲空時彈出login.jsp頁面框架
實現細節:1.web.xml中配置,StrutsPreparedAndExcuteFilter。jsp
2.在struts.xml package中配置兩個action(login與auth)以及相關的result,須要註冊一個interceptor,並結合默認intercrptor造成一個攔截器棧,綁定到action配置中。網站
3.loginAction以及Interceptor兩個java類的實現。設計
討論:1.爲何登錄後長時間沒有操做。會提醒你從新提醒你登錄?xml
--------session過時了
2.爲何曾經登錄過的網站。再次進入它仍然處於登錄狀態
--------這不是session,而是當初登錄的時候,瀏覽器經過cookie將帳號密碼保存在了本地,當你再次登錄的時候,經過遍歷cookie自動登錄了