login.jsp 登陸頁面(用戶名和密碼輸入)
LoginActon.java Struts1.4.9中負責數(shù)據驗證驗證的servlet 我現(xiàn)在只用他的 execute 方法
LoginFrom.java Struts1.4.9中負責用戶數(shù)據存儲的bean 我用他的reset方法初始化我的username,password參數(shù)
success.jsp 輸入正確的登陸頁面,帶退出
當我寫完開始運行時,出現(xiàn)這些現(xiàn)象:
1. 登陸驗證沒問題
2. 各部分運行正常,web.xml和struts-config.xml 配置沒問題
3. 當我點擊success.jsp里的退出時,我使用了一個退出的servlet 核心代碼為:



退出 看起來也沒問題。
呵呵,但是但我在退出之后,
點瀏覽器上的返回按鈕,暈 我看到了 我的用戶信息 呵呵出問題了
于是我去掉瀏覽器的緩存(這東西雖然提高效率但在目前這種情況下,他無疑降低了我這個程序的安全性)
我在 execute 里加入:






看到這里 大家會想 呵呵 這下肯定沒問題 是的 當我再點返回的時候 我沒有看到我的信息
但是無聊的我有做了一個實驗 我再次點退出,當我在地址欄里 輸入顯示用戶信息的地址時
http://localhost/login.do
哈哈 有出問題了 我又再次看到我的信息 悲哀 這又是什么緣故呢?
弄了很久 我才想起
LoginFrom.java 里的reset方法,啊 去掉之后就沒問題了
什么原因呢? 我想了下 覺得是這樣的 當你訪問struts1.4.9里的一個actionFrom(servlet)的時候,不管你是通過什么方式(表單或者直接輸入地址) actionFrom都會去找From(也就是這里的LogingFrom.java) 看看他里面有沒有初始化參數(shù) 有的話 就直接拿來用,所以大家以后一定要注意這個東東了。
哎 悲哀的我第一次就吃了番茄 閃人了 祝大家編程好運!!
地震讓大伙知道:居安思危,才是生存之道。
