隨筆 - 303  文章 - 883  trackbacks - 0
          <2007年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          歡迎光臨! 
          閑聊 QQ:1074961813

          隨筆分類(357)

          我管理的群

          公共blog

          • n維空間
          • Email : java3d@126.com 群 : 12999758

          參與管理的論壇

          好友的blog

          我的其他blog

          朋友的網(wǎng)站

          搜索

          •  

          最新評論

          啊!! 今天真是郁悶,寫一個簡單的struts登陸的時候,session老是去不掉;改程序分為以下幾個部分:

          login.jsp               登陸頁面(用戶名和密碼輸入)
          LoginActon.java Struts1.4.9中負(fù)責(zé)數(shù)據(jù)驗證驗證的servlet 我現(xiàn)在只用他的 execute 方法
          LoginFrom.java  Struts1.4.9中負(fù)責(zé)用戶數(shù)據(jù)存儲的bean     我用他的reset方法初始化我的username,password參數(shù)
          success.jsp          輸入正確的登陸頁面,帶退出

          當(dāng)我寫完開始運行時,出現(xiàn)這些現(xiàn)象:
          1.   登陸驗證沒問題
          2.   各部分運行正常,web.xml和struts-config.xml 配置沒問題
          3.   當(dāng)我點擊success.jsp里的退出時,我使用了一個退出的servlet 核心代碼為:

           HttpSession session=request.getSession(true);
                   session.invalidate();
                   response.sendRedirect(
          "webPage/login.jsp");

                退出 看起來也沒問題。

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

          /*去除瀏覽器的緩存*/
                  response.setHeader(
          "Cache-Control","no-cache"); 
                  response.setHeader(
          "Cache-Control","no-store");
                  response.setDateHeader(
          "Expires"0);
                  response.setHeader(
          "Pragma","no-cache");

          看到這里 大家會想 呵呵 這下肯定沒問題 是的 當(dāng)我再點返回的時候 我沒有看到我的信息

          但是無聊的我有做了一個實驗 我再次點退出,當(dāng)我在地址欄里 輸入顯示用戶信息的地址時

          http://localhost/login.do

          哈哈 有出問題了 我又再次看到我的信息 悲哀 這又是什么緣故呢?

          弄了很久 我才想起
          LoginFrom.java  里的reset方法,啊 去掉之后就沒問題了

          什么原因呢? 我想了下 覺得是這樣的 當(dāng)你訪問struts1.4.9里的一個actionFrom(servlet)的時候,不管你是通過什么方式(表單或者直接輸入地址) actionFrom都會去找From(也就是這里的LogingFrom.java)  看看他里面有沒有初始化參數(shù) 有的話 就直接拿來用,所以大家以后一定要注意這個東東了。

          哎 悲哀的我第一次就吃了番茄 閃人了 祝大家編程好運!!





           

          地震讓大伙知道:居安思危,才是生存之道。
          posted on 2007-08-01 16:08 小尋 閱讀(518) 評論(0)  編輯  收藏 所屬分類: j2se/j2ee/j2me
          主站蜘蛛池模板: 阳谷县| 金山区| 赤水市| 桂东县| 自贡市| 崇左市| 奉化市| 湖北省| 宁武县| 华安县| 神池县| 微山县| 盐津县| 武陟县| 南充市| 古丈县| 宜都市| 谷城县| 台湾省| 黄大仙区| 北碚区| 定陶县| 晋江市| 施甸县| 连州市| 讷河市| 甘孜县| 宿迁市| 屏山县| 故城县| 巴南区| 新和县| 蚌埠市| 阜平县| 栖霞市| 清新县| 龙川县| 梓潼县| 和田市| 武城县| 常州市|