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技術
          主站蜘蛛池模板: 汉源县| 新丰县| 尼勒克县| 江山市| 台湾省| 汝州市| 永胜县| 丽江市| 张家港市| 梅河口市| 靖西县| 祁连县| 扎囊县| 灵台县| 云龙县| 辽阳县| 油尖旺区| 新晃| 奎屯市| 和硕县| 金山区| 格尔木市| 赣州市| 荃湾区| 南城县| 隆昌县| 通榆县| 沂水县| 天津市| 肥西县| 分宜县| 双流县| 贡嘎县| 玉门市| 盐池县| 扶绥县| 张家界市| 黑水县| 连云港市| 稷山县| 达日县|