• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    JSP刷新页面表单重复提交问题解决办法分享

    使用sessionID和时间戳作为标识,关键代码如下:

    复制代码 代码如下:

    public class SswpdjAction extends BaseAction{

          public String execute(){
            /**业务代码**/
            ................
            //设置标识
            this.setSessionToken();
            //转到添加页面
            return "toAdd";
          }
      
          public String reSave(){
            if(this.token != null this.token.equals(this.getSessionToken())){
              /**设置新标识**/
              this.setSessionToken();
          
              /**业务代码**/
              ..............
              return "toAdd";
            }else{
              printWriter out = null;
              try{
                httpServletResponse.setContentType("text/html;charset=UTF-8");
                out = httpServletResponse.getWriter();
                out.println("script>alert('刷新提交表单!');/script>");
                out.flush();
            
                }catch(IOException e){
                    e.printStackTrace();
                }finally{
                    if(out != null){
                        out.close();
                    }
                }
            }
            return null;
      }
    }

    public class BaseAction extends ActionSupport{

        /**jsp页面标识**/
        protected String token;

        public String getToken(){
            return token;
        }

        public void setToken(String token){
            this.token = token;
        }

        public String getSessionToken(){
            if(null != httpSession.getAttribute("Token")){
                return httpSession.getAttribute("Token");
            }else{
                return null;
            }
        }

        /**标识生成**/
        public void setSessionToken(){
            String flag = useMd5(httpSession.getId() + System.currentTimeMillis());
            httpSession.setAttribute("Token", flag);
            httpServletRequest.setAttribute("SessionToken", flag);
        }

        /**MD5加密**/
        private String useMd5(String str){
            byte[] bs = str.getBytes();
            String result = null;
            try{
                MessageDigest md5 = MessageDigest.getInstance("MD5");
                md5.update(bs);
                result = md5.digest().toString();
            }catch(NoSuchAlgorithmException e){
                e.printStackTrace();
            }finally{

            }
            return result;
        }
    }

    JSP页面设置标识隐藏域:

    复制代码 代码如下:

    form>
      input type="hidden" name="token" value="${SessionToken}" />
    /form>

    您可能感兴趣的文章:
    • js防止表单重复提交的两种方法
    • javascript下阻止表单重复提交、防刷新、防后退
    • js防止表单重复提交实现代码
    • js控制再次点击按钮之间的间隔时间可防止重复提交
    • JSP防止网页刷新重复提交数据的几种方法
    • JavaScript实现点击按钮后变灰避免多次重复提交
    • JS Ajax请求如何防止重复提交
    • jsp 重复提交问题
    • 一个JavaScript防止表单重复提交的实例
    • 前端防止用户重复提交js实现代码示例
    上一篇:消除js以及jsp文件中的警告方法
    下一篇:JSP上传文件到指定位置实例代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    JSP刷新页面表单重复提交问题解决办法分享 JSP,刷新,页面,表单,重复,