zoukankan      html  css  js  c++  java
  • day25(令牌机制)

    令牌机制

        作用:处理页面重复提交,造成数据多次写入数据库。

        使用方法:

            类似于验证码机制,使用session记录一个不可能重复的值(Uuid)在访问controller时对session进行校验。

            

    	    
              //获取session存储的值
    String sessionToken = request.getSession().getAttribute("token").toString();
              //获取隐藏域中提交的数据 String ptToken = request.getParameter("token");
              //非空校验和相等判断 if (null==sessionToken||null==ptToken||!ptToken.equals(sessionToken)) {
                   //令牌不相符,则直接进行转发,不需要进行对数据库提交数据 request.getRequestDispatcher("ProductFindAllServlet").forward(request, response); return ; }

      在提交的jsp页面中必须将token值放入session中

      
    <!--UuidUtils.getUuid() 是产生随机序列号-->
    <% request.getSession().setAttribute("token", UuidUtils.getUuid()) ;%>
    

      UuidUtils类

    import java.util.UUID;
    
    public class UuidUtils {
    	public static String getUuid(){
    		String uuid = UUID.randomUUID().toString();
    		return uuid;
    	}
    }

        注意事项:

          1.在jsp页面中需要提交session中的值

           位置:form表单中 写一个隐藏表单  用来提交session中的值

    <input type="hidden" value="${sessionScope.token }" name="token"/>
    

          2.异常处理(NullPointerException)

            解决方式:对于有可能产生的非空字段进行判断。

    if(null==sessionToken||null==ptToken)
    {
    
    }
    

      

            

              

  • 相关阅读:
    盘点直播带货平台开发基本功能
    直播软件开发科普之流媒体介绍
    直播平台搭建之音视频开发:认识主流视频编码技术H.264
    直播卖货系统如何搭建
    day27-反射
    day20---IO流概述
    《通货膨胀》学习感悟
    《小狗钱钱》阅读感悟
    有限状态机(finite state machine,FSM)
    verilog中的可综合逻辑和不可综合逻辑
  • 原文地址:https://www.cnblogs.com/fjkgrbk/p/token.html
Copyright © 2011-2022 走看看