每日一得

          不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速開發(fā)
          最近關(guān)心的內(nèi)容:SSH,seam,flex,敏捷,TDD
          本站的官方站點是:顛覆軟件

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            220 隨筆 :: 9 文章 :: 421 評論 :: 0 Trackbacks

          注:這個說的挺全面,考慮到了兩種情況,一個是超連接,一個是表單

          原文是這里


          Struts Token 機(jī)制可以解決這個問題。

          1. ? 防止通過超鏈接重復(fù)訪問 Struts Action

          如果我們要防止 A 的默認(rèn)頁面 J 中指向 K 的超鏈接重復(fù)提交數(shù)據(jù),按照下列步驟即可:

          a. ? 如果 J 是從 Struts Action 轉(zhuǎn)發(fā)而來,我們要在該 Struts Action execute 方法中添加下面的一行:

          ??? saveToken(request);

          b. ? 如果 J 不是從 Struts Action 轉(zhuǎn)發(fā)而來,那么新建一個 Struts Action ,在該 Struts Action excute 方法中增加上面的一行,然后再從該 action 轉(zhuǎn)到 J 頁面。

          c. ? J 頁面中使用 Struts 標(biāo)簽生成指向 K 的超鏈接,如:

          ?? <html:link action="/deleteLayoutAction?layoutId=0" transaction="true" >delete</html:link>

          ?? 注意紅色字體部分。

          d. ? <html:link> 標(biāo)簽指向的 action excute 方法中加入下面的代碼:

          ?? if (!isTokenValid(request)) {

          ???????????????????? return mapping.findForward(" 這種情況下就是重復(fù)提交,轉(zhuǎn)到相應(yīng)的頁面 ");

          ????????????? }

          e All Done.

          2. ? 防止通過表單重復(fù)提交數(shù)據(jù)。

          a. ? 如果 J 是從 Struts Action 轉(zhuǎn)發(fā)而來,我們要在該 Struts Action execute 方法中添加下面的一行:

          ??? saveToken(request);

          b. ? 如果 J 不是從 Struts Action 轉(zhuǎn)發(fā)而來,那么新建一個 Struts Action ,在該 Struts Action excute 方法中增加上面的一行,然后再從該 action 轉(zhuǎn)到 J 頁面。

          c. ? J 頁面中表單 Action 屬性指向的 Struts action excute 方法中加入下面的代碼:

          ?? if (!isTokenValid(request)) {

          ?????????? saveToken(request);

          ???????????????????? return mapping.findForward(" 這種情況下就是重復(fù)提交,轉(zhuǎn)到相應(yīng)的頁面 ");

          ?? saveToken(request);

          ????????????? }

          e All Done.
          posted on 2006-05-08 10:02 Alex 閱讀(369) 評論(0)  編輯  收藏 所屬分類: web技術(shù)
          主站蜘蛛池模板: 北安市| 惠水县| 万盛区| 许昌县| 富顺县| 巴林右旗| 淮南市| 葵青区| 安溪县| 高淳县| 四川省| 金秀| 合肥市| 蓝山县| 屏东县| 巴彦县| 漳浦县| 延庆县| 宁陕县| 信宜市| 德化县| 宽城| 根河市| 宾川县| 平昌县| 武隆县| 德化县| 昌都县| 田林县| 虹口区| 时尚| 青浦区| 海丰县| 公主岭市| 定安县| 杭锦旗| 招远市| 牟定县| 贡嘎县| 泸定县| 西盟|