美文网首页
javaee 04 表单重复提交

javaee 04 表单重复提交

作者: 不再饿肚子给人送饭 | 来源:发表于2018-01-13 10:58 被阅读0次
@WebServlet("/login")
public class LoginServlet extends HttpServlet{

    private static final long serialVersionUID = 1L;
    
    
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("LoginServlet.doGet()");
        req.getRequestDispatcher("/WEB-INF/views/Login.jsp").forward(req, resp);
    }
    
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("LoginServlet.doPost()");
        req.setCharacterEncoding("UTF-8");
        resp.setContentType("text/html;charset=utf-8");
        
        String username = req.getParameter("usernmae");
        System.out.println("向数据库中插入数据 -->" + username);
    }
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <form action="/login" method="post">
        用户名:<input type="text" name="usernmae" id="usernmae" value="" />
        <input type="submit" value="提交"/>
    </form>
</body>
</html>

当在页面中点击提交之后


image.png
image.png

情况1 此时按下F5


image.png
image.png

会重复去数据库中插入数据,这肯定不行

情况2


image.png

较为常用的解决方案
使用JavaScript 来解决这种问题

提交后禁用按钮


image.png
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
        <script type="text/javascript">
            $(function(){
                //点击按钮之后,只让提交一次
                $("#subBtn").click(function(){
                    $("#addForm").submit();
                    //提交之后将按钮禁用,随便点,反正也提交不上去
                    $("#subBtn").attr("disabled",true);
                });
            });
</script>

通过标识符,让按钮只能点击一次

    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <script type="text/javascript">
        $(function() {
            //标识符
            var status = false;

            $("#subBtn").click(function() {

                if (status == false) {
                    $("#addForm").submit();
                    //更改标识符,这样点了之后因为标识符不等于false,将不会提交表单
                    status = true;
                }
            });
        });
    </script>

使用session 来解决这个问题

1.jpg

相关文章

  • javaee 04 表单重复提交

    当在页面中点击提交之后 情况1 此时按下F5image.pngimage.png会重复去数据库中插入数据,这肯定不...

  • 12、Struts2表单重复提交

    什么是表单重复提交表单的重复提交:若刷新表单页面, 再提交表单不算重复提交.在不刷新表单页面的前提下:多次点击提交...

  • Struts2学习笔记 | 防止表单重复提交及自定义拦截器

    表单重复提交的概述 若刷新表单页面,再提交表单不算重复提交。 若是重定向,已经提交成功后再刷新不算重复提交。 以下...

  • Javascript-表单脚本

    一、表单的基础知识 1、表单提交 普通提交 以编程方式调用submit()方法提交表单 解决表单重复提交的办法:1...

  • 前端开发注意事项

    表单提交注意事项 1、避免重复提交,提交按钮做loading

  • 表单

    表单基础 提交表单 Tips: 解决重复提交表单的问题的两个方法1)在第一次提交表单后就禁用提交按钮2)利用ons...

  • 防止表单重复提交

    嘿,大家好,今天我来介绍几种简单的防止表单重复提交的方法: 防止表单重复提交 方法一:前端方式 当点击提交或者保存...

  • HTML表单

    2019-04-10 语法格式 action属性:设置表单的提交地址method属性:设置表单的提交方式,包括ge...

  • 002_JavaWeb避免重复提交

    JavaWeb避免重复提交 现象 利用Session防止表单重复提交 问题: 测试代码 更多信息:www.itco...

  • struts令牌token

    一.使用场景 (1)网络延迟的情况下,进行多次提交. (2)表单提交后用户点击【刷新】按钮导致表单重复提交 (3)...

网友评论

      本文标题:javaee 04 表单重复提交

      本文链接:https://www.haomeiwen.com/subject/izqcoxtx.html