JavaWeb通过前端向Mysql数据库中插入数据问题

2023-10-27

作为入门小白,记录下因为基础不扎实而踩得坑

在写注册界面时,需要利用web界面输入数据,idea操作向数据库插入数据。

首先确定了数据库正常,tomcat正常运行,sql语句正常,在idea中测试业务层也能正常向数据库中插入数据,但是在web页面输入数据后,数据库中的新插入的整行数据全部都为null。

最后发现是input标签没有写name值。。。

name 属性规定 input 元素的名称。

name 属性用于对提交到服务器后的表单数据进行标识,或者在客户端通过 JavaScript 引用表单数据。

注释:只有设置了 name 属性的表单元素才能在提交表单时传递它们的值。

// html

<div id="userRegist">
    <h3>用户注册界面</h3>
    <form class="form-horizontal" id="userRegistForm">
        <div class="form-group">
            <label for="userName" class="col-sm-2 control-label">用户名</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" id="userName" placeholder="用户名" name="userName">
            </div>
        </div>
        <div class="form-group">
            <label for="userPwd" class="col-sm-2 control-label">密码</label>
            <div class="col-sm-10">
                <input type="password" class="form-control" id="userPwd" placeholder="密码" name="userPwd">
            </div>
        </div>
        <div class="form-group">
            <label for="userAge" class="col-sm-2 control-label">年龄</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" id="userAge" placeholder="年龄" name="userAge">
            </div>
        </div>
        <div class="form-group">
            <label for="userPhone" class="col-sm-2 control-label">手机号</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" id="userPhone" placeholder="手机号" name="userPhone">
            </div>
        </div>
        <div class="form-group">
            <label for="userEmail" class="col-sm-2 control-label">邮箱</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" id="userEmail" placeholder="邮箱" name="userEmail">
            </div>
        </div>
        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
                <button type="button" class="btn btn-default" id="userRegistBtn">提交</button>
            </div>
        </div>
    </form>
</div>
// java 代码

/**
     * 用户注册
     * @param req
     * @param resp
     * @throws ServletException
     * @throws IOException
     */
    public void addUser(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置编码格式,获取数据
        req.setCharacterEncoding("utf-8");
        String userName = req.getParameter("userName");
        String userPwd = req.getParameter("userPwd");
        String userAgeStr = req.getParameter("userAge");
        Integer userAge = null;
        if (userAgeStr != null && !"".equals(userAgeStr)) {
            userAge = Integer.valueOf(userAgeStr);
        }
        String userPhone = req.getParameter("userPhone");
        String userEmail = req.getParameter("userEmail");

        //封装数据
        User user = new User(null, userName, userPwd, userAge, userPhone, userEmail);

        //调用业务层方法
        User byUserName = userService.findByUserName(userName);

        //返回信息的实体类

        resp.setContentType("application/JSON;charset=utf-8");
        PrintWriter writer = resp.getWriter();
        //判断
        //如果用户不存在 调添加用户方法
        //如果用户存在 提示已存在
        if (byUserName == null) {
            int rows = userService.addUser(user);

            //判断是否添加成功
            if (rows > 0) {
                //添加成功
                System.out.println("添加成功");
//                writer.print("添加成功");
                re.setReturnCode(CodeAndMsg.OPERATE_SUCCESS.getReturnCode());
                re.setReturnMsg(CodeAndMsg.OPERATE_SUCCESS.getReturnMsg());

            } else {
                //添加失败
                re.setReturnCode(CodeAndMsg.OPERATE_FAIL.getReturnCode());
                re.setReturnMsg(CodeAndMsg.OPERATE_FAIL.getReturnMsg());
            }
        } else {
            //用户已存在
            re.setReturnCode(CodeAndMsg.OPERATE_FAIL.getReturnCode());
            re.setReturnMsg(CodeAndMsg.OPERATE_FAIL.getReturnMsg());

        }
        writer.print(JSON.toJSONString(re));
        writer.close();

    }

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaWeb通过前端向Mysql数据库中插入数据问题 的相关文章

随机推荐

  • UE4用蓝图画出数学柱状图(第一更)

    UE4用蓝图画出数学柱状图 第一更 利用ue4画出数学柱状图主要用的蓝图节点 新建一个widget 在UI蓝图里面直接用上面四个节点是不行的 需要重写一个UI的函数 所有的绘画都要在这个函数里完成 这个引用在C 里写为了只读 且这个函数也不
  • 55_Pandas.DataFrame 转换为 JSON 字符串/文件并保存 (to_json)

    55 Pandas DataFrame 转换为 JSON 字符串 文件并保存 to json 使用pandas DataFrame的方法to json 可以将pandas DataFrame转为JSON格式字符串 str类型 或者输出 保存
  • 闲谈:如何在js中定义枚举类

    定义枚举的意义和场景 今天遇到了一个场景 页面中有一个下拉框 里面两个选项 国有企业 民营企业 代码结构是这样的 text 国有企业 value 1 text 民营企业 value 2 value是用来存储 text是用来展示 数据回显的时
  • QT错误::-1: error: No rule to make target ‘res.qrc‘, needed by ‘debug/qrc_res.cpp‘. Stop.

    问题分析 出现这种错误是因为选中的资源文件的图片路径中含有中文 解决办法 先删除原有图片路径中含有中文的图片 将图片的路径中含有中文的部分修改后再进行添加 然后再重新执行即可
  • 【Vue】一文让你进入Vue的大门

    Vue简介 官网 英文官网 中文官网 介绍与描述 Vue历史 Vue 是一套用来动态构建用户界面的渐进式JS框架 构建用户界面 把数据通过某种办法变成用户界面 渐进式 Vue可以自底向上逐层的应用 简单应用只需要一个轻量小巧的核心库 复杂应
  • iOS 多线程知识体系构建(二):Pthreads、NSThread篇

    本篇首先来学习 iOS 多线程技术中的 Pthreads 和 NSThread Pthreads 可移植操作系统接口 英语 Portable Operating System Interface 缩写为POSIX 是 IEEE 电气和电子工
  • 解决anaconda无法创建虚拟环境问题

    报错信息 base C Users Administrator gt conda create name pytorch Solving environment done gt gt gt gt gt gt gt gt gt gt gt g
  • SpringBoot 通过 Feign 调用Django 接口

    注意 本教程实现的是SpringBoot 调用 Django 中的http接口 调用Django 的接口是为了更好的模拟项目流程 如果只想要理解调用过程 使用springBoot 调用springBoot 会更好 主要使用feign web
  • [Linux]使用CentOS镜像与rpm来安装虚拟机软件

    目录 一 前言 二 步骤 一 连接镜像文件 二 将需要的RPM文件移动到虚拟机上 三 安装rpm软件包 一 前言 本文使用的是CentOS的VM ware虚拟机 二 步骤 一 连接镜像文件 双击虚拟机右下角 打开虚拟机配置菜单 选中蓝圈中选
  • cv2.error: OpenCV(4.5.4) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\resize.cpp:4051

    报错信息 cv2 error OpenCV 4 5 4 D a opencv python opencv python opencv modules imgproc src resize cpp 4051 error 215 Asserti
  • sqlserver 时间加减精确到分钟_SQL Server中sp_spaceused统计数据使用的空间总量不正确的原因...

    很多时候 我们经常使用sp spaceused来查看表的空间使用情况 上个月群里有个网友说他使用DELETE删除了数据后 使用sp spaceused查看 发现该表的分配的空间总量 reserved 与数据使用的空间总量 data 没有变化
  • 卸载地平线5所有文件。本人亲测。

    首先你要了解的是 你下载的游戏文件都会保存在windowsapps文件里面 但是删除这个文件我们需要获得权限 下面是讲如何删除这个文件 1 win r 输入 C Program Files WindowsApps 2 在 WindowsAp
  • MATLAB机器人工具箱使用

    MATLAB机器人工具箱 一 前言 在开始做机器人仿真之前 我了解了一系列机器人仿真软件 包括Matlab Webots Gazebo V rep Adams Simbad Morse等 的适用场景 使用方法等资料 决定从最经典的Matla
  • 程序设计之C语言判断满足条件的三位数

    6 6 判断满足条件的三位数 15 分 本题要求实现一个函数 统计给定区间内的三位数中有两位数字相同的完全平方数 如144 676 的个数 函数接口定义 int search int n 其中传入的参数int n是一个三位数的正整数 最高位
  • 超实用的自动化测试平台推荐

    什么是平台 平台就是一种用来实现某种功能的体系 包括各种不同的元素 架构 流程 标准 机制和工具等 而软件测试平台是为客户打造的集高效率 低成本等特性于一身的软件工作空间 它不仅可以大幅缩短软件产品的测试周期 还可以提升产品品质 同时还能充
  • Centos7安装Mysql

    1 添加Mysql Yum Repository rpm Uvh https dev mysql com get mysql80 community release el7 3 noarch rpm 然后查看Mysql包 yum list
  • 如何在 Java 中将 InputStream 读取/转换为字符串?

    问题描述 如果您有一个 java io InputStream 对象 您应该如何处理该对象并生成一个 String 假设我有一个包含文本数据的 InputStream 并且我想将其转换为 String 例如 我可以将其写入日志文件 获取 I
  • 线上排查问题大全

    CPU 一般来讲我们首先会排查cpu方面的问题 cpu异常往往还是比较好定位的 原因包括业务逻辑问题 死循环 频繁gc以及上下文切换过多 而最常见的往往是业务逻辑 或者框架逻辑 导致的 可以使用jstack来分析对应的堆栈情况 使用jsta
  • Vue 3 状态管理进阶:使用 Pinia 构建可扩展的应用程序

    Vue 3 状态管理进阶 使用 Pinia 构建可扩展的应用程序 前言 1 Pinia 简介 2 安装和配置 Pinia 3 创建和使用 Pinia Store 4 在组件中使用 Pinia Store 5 在模板中使用 Pinia Sto
  • JavaWeb通过前端向Mysql数据库中插入数据问题

    作为入门小白 记录下因为基础不扎实而踩得坑 在写注册界面时 需要利用web界面输入数据 idea操作向数据库插入数据 首先确定了数据库正常 tomcat正常运行 sql语句正常 在idea中测试业务层也能正常向数据库中插入数据 但是在web