Edzy_Java

            BlogJava :: 首頁 ::  ::  ::  :: 管理 ::
            58 隨筆 :: 12 文章 :: 11 評論 :: 0 Trackbacks
                  如果用戶回退到剛才的提交頁面并再次提交的話,客戶端傳過來的令牌就和服務器端的令牌不一致,從而有效地防止了重復提交的發生。//驗證事務控制令牌,會自動根據session中標識生成一個隱含input代表令牌,防止兩次提交。

            在JSP/Servlet中可以

            JSP頁面  
          SynchroToken.java
            package com.lims.util;
            import org.apache.struts.util.*;
            import javax.servlet.http.*;
            import javax.servlet.jsp.*;
            import org.apache.struts.action.*;
            /**
            *
            Title: SynchroToken
            *
            Description:
            *
            Copyright: Copyright (c) 2004
            *
            Company: NetStar
            * @author Jstar
            * @version 1.0
            * Created in 2004/04/21
            */
            public class SynchroToken{
            public final static java.lang.String TOKEN_NAME = "_token";
            public static boolean checkToken (HttpServletRequest request){
            boolean isEqual = false;
            HttpSession session = request.getSession ();
            String formToken = request.getParameter (TOKEN_NAME);
            String sessionToken = (String)session.getAttribute (TOKEN_NAME);
            System.out.println ("formToken: " + formToken + " sessionToken: " +
            sessionToken);
            if (formToken != null && sessionToken == null){
            session.setAttribute (TOKEN_NAME, formToken);
            isEqual = true;
            }
            return isEqual;
            }
            /**
            * Insert the method's description here.
            * Creation date: (4/19/2004 3:23:25 PM)
            * @return java.lang.String
            * @param request javax.servlet.http.HttpServletRequest
            */
            public static String getToken (HttpServletRequest request){
            String token = "" + System.currentTimeMillis ();
            HttpSession session = request.getSession ();
            if (session != null){
            session.removeAttribute (TOKEN_NAME);
            }
            return token;z
            }
            /**
            * Insert the method's description here.
            * Creation date: (4/19/2004 3:24:10 PM)
            * @return java.lang.String
            */
            final static java.lang.String getTOKEN_NAME (){
            return TOKEN_NAME;
            }
            public static String message (PageContext pageContext, String key) throws
            JspException{
            return RequestUtils.message (pageContext, null, null, key);
            }
            }

          posted on 2007-12-18 09:33 lbfeng 閱讀(257) 評論(0)  編輯  收藏 所屬分類: JSP&Servlet技術
          主站蜘蛛池模板: 同仁县| 五常市| 曲松县| 舞钢市| 同仁县| 五台县| 勃利县| 平昌县| 高陵县| 泸定县| 永城市| 新竹市| 潼南县| 莱阳市| 游戏| 阳东县| 新乡市| 关岭| 南城县| 宁河县| 寿光市| 勐海县| 青田县| 凯里市| 巴林右旗| 平谷区| 西平县| 深水埗区| 鹤壁市| 龙里县| 金秀| 肃南| 共和县| 阿合奇县| 耿马| 乐清市| 松原市| 屯留县| 共和县| 荥经县| 京山县|