码迷,mamicode.com
首页 > 其他好文 > 详细

表单重复提交

时间:2018-03-13 14:03:01      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:move   是否有效   att   分代   info   ase   提交   uid   一个   

原理:1、后端生成一个授权码,存好。并且把授权码传到前端。
    2、前端把授权码传到后端,授权码一致,删除后端存好的授权码。

 工具类:

public class TokenUtil {
    /**
     * 制造随机数
     * @return
     */
    public static String createToken(){
        String token = UUID.randomUUID().toString();
        return token;
    }

    /**
     * 设置随机数
     * 放入前端和后端session
     */
    public static void setToken(HttpServletRequest request, String profix){
        String token = createToken();
        String key = profix + "Token";
        //放入前端
        request.setAttribute(key,token);

        //放入session
        String sessionKey = profix.toUpperCase() + "_TOKEN_IN_SESSION";
        request.getSession().setAttribute(sessionKey,token);
    }

    /**
     * 验证随机数是否有效
     * @return
     */
    public static boolean checkToken(HttpServletRequest request, String profix, String token){
        //判断前缀是否为空
        if(profix==null){
            return false;
        }
        //判断session中的随机数是否有效
        String sessionKey = profix.toUpperCase() + "_TOKEN_IN_SESSION";
        String sessionToken = (String) request.getSession().getAttribute(sessionKey);
        if(sessionKey==null){
            return false;
        }
        if(sessionToken.equals(token)){
            return true;
        }
        return false;
    }

    /**
     * 删除session中的随机数
     */
    public static void removeAttribute(HttpServletRequest request, String profix){
        String sessionKey = profix.toUpperCase() + "_TOKEN_IN_SESSION";
        request.getSession().removeAttribute(sessionKey);
    }
}

技术分享图片

技术分享图片

技术分享图片

技术分享图片

以上几乎就是表单重复提交的过程和大部分代码
,有什么不对的,请大家指正。我是个新手!

 

表单重复提交

标签:move   是否有效   att   分代   info   ase   提交   uid   一个   

原文地址:https://www.cnblogs.com/ping157019-/p/8555940.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!