web项目为什么点击注册按钮跳转不到注册页面?(上一篇博客)

  从上次注册页面能成功访问之后(上一篇博客),我就开始编写注册页面。最终成功的将用户名和密码插入到数据库中!

但是问题百出!我登录刚刚注册的页面,系统就开始报错了!!

nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75)at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:371)at com.sun.proxy.$Proxy6.selectOne(Unknown Source)

  看到红色的字体我就猜到是登陆的时候从数据库查到了两个用户名!

为什么会有两个用户名呢???去查了一下数据库,发现我刚才注册的用户名真的重复了!(用户名并不是主键,所以可以唯一)

很怀疑为什么为是两个,于是我又注册了一个用户名,发现数据库里面也是两个。。。。

很想不通,我注册的时候应该只会有一个用户名呀,无意中发现,每当我刷新一次页面,数据库就会多一条重复的记录。

很费解为什么会这样!


后来我发现了问题,就是当我完成注册,跳转到登录页面之后,URL是没有改变的!!!因为我用的是转发!     重定向和转发的区别这里就不细讲了。

这里我只说明一下转发地址栏中的URL不会改变!!!

所以,当我完成注册跳转到登录页面的时候,我的URL并没有改变,仍然是注册页面的URL。再加上我的请求时get请求,参数都在URL上。

http://localhost:8080/springmvc_mybatis1110/login.action?usercode=123&password=123

所以,每当我刷新一次页面,就会调用一次注册功能的接口,数据库就会多一条数据!

那么问题找到了;

下面来解决问题

问题很简单,将转发改成重定向到登录页面,URL也会改成登录页面的URL,这样数据库里就不会莫名的增加数据了!

转载于:https://www.cnblogs.com/ilovessf/p/7527054.html

为什么注册页面刷新一次,数据库就多了一条数据?????相关推荐

  1. oracle数据库取前几行,Oracle数据库实现获取前几条数据的方法

    如何在Oracle数据库中实现获取前几条数据的方法呢?就是类似SQL语句中的SELECT TOP N的方法.本文将告诉您答案,举例说明了哟! 1.在Oracle中实现SELECT TOP N : 由于 ...

  2. laravel mysql rand_laravel如何从mysql数据库中随机抽取n条数据(高性能) - Laravel学习网...

    laravel如何高性能地从mysql数据库中随机获取n条数据,有时候我们常常会需要从数据库随机获取数据,比如:给工作人员随机分配10个订单,随机从数据库中随机抽查100个用户:这样我们就需要随机从数 ...

  3. 【十】JDBC:使用 jmeter 批量在数据库创建 1 万多条数据;批量删除重复数据

    目录 一.批量创建1万多条数据 二.批量删除重复数据 一.批量创建1万多条数据 数据库车辆信息表中准备10000多台车的数据: (1)创建线程组,循环1次: (2)连接数据池: (3)添加循环控制器, ...

  4. java 将数据库中的每一条数据取出放入数组或者List中

    1.如何将数据库中数据按照行(即一整条数据)取出来,存入到数组当中? public static String str = null; // 将StringBuffer转化成字符串public sta ...

  5. oracle+获取最后一行数据库,获取表最后一条数据

    数据库中如何查询表的最后一条记录? MySql : SELECT * FROM 表名 ORDER BY 表_ID DESC LIMIT 1 SQLServer/Oracle : SELECT TOP ...

  6. sql server批量插入数据库的操作100万条数据

    1.数据库中 首先创建表->连接数据库->通过循环插入数据 2.建立测试表 在这里插入代码[c-sharp] view plain copy --Create DataBase creat ...

  7. php select只有一条_读取数据库如何只取出一条数据????请赐教!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 感谢大家的帮助,我的问题解决了! 核心代码如下: if($_POST) { if($_POST['select'] === '') { echo(''); ...

  8. mysql数据库一个表20万条数据可以_mysql生成20万条数据(连表插入)

    创建一个存储过程 DELIMITER $$ -- 设置定界符为$$,与';'意思相同,防止相同符号产生冲突 USE `yunkc_base1`$$ -- 使用数据库 DROP PROCEDURE IF ...

  9. 快速往数据库中插入1000万条数据

    --创建MyISAM模式表方便批量跑数据   CREATE TABLE `logs1` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `logtype` va ...

最新文章

  1. 完爆Facebook/GraphQL,APIJSON全方位对比解析(一)-基础功能
  2. TVS 管性能及选型总结
  3. C++Template 模版的本质
  4. Learning Less is More – 6D Camera Localization via 3D Surface Regression
  5. SAP GraphQL console UI的实现原理
  6. Tomcat集群实现源码级别剖析
  7. MySQL 导入 csv、excel 或者 sql 文件
  8. python上下文管理器ContextLib及with语句
  9. 吉大19秋学期计算机应用基础在线作业,吉大15春学期《计算机应用基础》在线作业二满分答案...
  10. java之jsoup爬虫
  11. 基于SSM的小区物业管理系统(附源码+论文)
  12. studioOne安装教程与简单使用(图文)
  13. zigbee 4:协调器/路由器/终端 建立/加入 网络
  14. 关于无线传感器网络(WSN)的学术会议和期刊
  15. RFT 实用CODE
  16. 163企业邮箱申请,163企业邮箱注册方法
  17. otsu天空分割 matlab,matlab图像处理--Otsu阈值分割
  18. 网络管理——直接网络管理规范
  19. vue项目中使用 Echarts的一些总结,包括饼图,折现图,折柱混图,年月日切换
  20. 《寒假去世十 第八章》

热门文章

  1. jquery 表格自动拆分(方便打印)插件-printTable
  2. jbpm 5 安装教程
  3. java中奇偶数的判断
  4. Selenium 中文手册
  5. Flutter 实现微信摇一摇的功能 Flutter 加速度感应
  6. Flutter透明度渐变动画Opacity实现透明度渐变动画效果
  7. 操作数组的常用方式二-----排序、查找
  8. 图片保存到数据库以及从数据库中Load图片
  9. IntelliJ IDEA 编辑器配置vue高亮显示
  10. JavaScript学习笔记(五)--深拷贝浅拷贝