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 閱讀(261) 評論(0)  編輯  收藏 所屬分類: JSP&Servlet技術
          主站蜘蛛池模板: 大丰市| 南昌县| 广灵县| 宜春市| 浠水县| 京山县| 吉木萨尔县| 汉阴县| 忻城县| 曲周县| 万年县| 蒙山县| 肥乡县| 河津市| 竹北市| 曲周县| 阿勒泰市| 鄂托克旗| 镇沅| 东乡县| 道真| 千阳县| 弥渡县| 大田县| 昌吉市| 克山县| 喀什市| 天门市| 柞水县| 溧阳市| 布尔津县| 肥西县| 宜昌市| 扎兰屯市| 大关县| 渭源县| 邯郸市| 卢龙县| 台安县| 汉寿县| 龙口市|