SpringBoot实现登录注册常见问题解决方案


Posted in Python onMarch 04, 2020

一、用户名密码都正确的情况下被登录拦截器拦截

SpringBoot实现登录注册常见问题解决方案

控制台报错:org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement 'com.spbt.mapper.EmpeeMapper.selectName'. It's likely that neither a Result Type nor a Result Map was specified.

这个异常是在mapper文件的<select>标签中没有指定 resultType 或者 resultMap,也就是说没有指定返回值类型或者返回值类型的map集合

所以检查自己的mapper文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.spbt.mapper.EmpeeMapper">

  <select id="selectName" parameterType="String">
    select username from empee where username=#{username}
  </select>

  <select id="selectPwdByName" parameterType="String">
    select password from empee where username=#{username}
  </select>

</mapper>

可以发现我的<select>标签中没有指定 resultType,而是指定的parameterType(参数类型)

解决:将parameterType修改为resultType

登录成功:

SpringBoot实现登录注册常见问题解决方案

二、页面没有显示传递的消息

SpringBoot实现登录注册常见问题解决方案

这是LoginController的实现登录代码

RequestMapping("/empee/login")
public String login(@RequestParam("username") String username,
          @RequestParam("password") String password,
          Model model, HttpSession session){
  if (empeeMapper.selectName(username)!=null){
    //用户名存在
    if (empeeMapper.selectPwdByName(username).equals(password)){
      //密码也正确
      session.setAttribute("loginEmpee",username);
      return "redirect:/main.html";
    }else {
      model.addAttribute("msg","密码错误");
      return "redirect:/index";
    }
  }else {
    model.addAttribute("msg","用户名不存在,请注册");
    return "redirect:/index";
  }
}

我输入错误的信息,而点击登录之后应该会反馈给页面

解决:这其实是一个非常低级的错误,因为我设置了重定向redirect:/index,所以重新定回这个页面当然就没有反馈信息了,去掉多余的redirect:/就可以了

三、添加(注册)成功却跳转到空白页

SpringBoot实现登录注册常见问题解决方案

点击添加,出现空白页

SpringBoot实现登录注册常见问题解决方案

但是查看自己的数据库发现注册是成功的

SpringBoot实现登录注册常见问题解决方案

控制台报错:org.apache.ibatis.binding.BindingException: Mapper method 'com.spbt.mapper.EmpeeMapper.insertEmpee' has an unsupported return type: class com.spbt.pojo.Empee

可以发现出错原因在于EmpeeMapper文件的insertEmpee方法,而且是返回值类型的错误

检查EmpeeMapper:

SpringBoot实现登录注册常见问题解决方案

我使用的是Empee类型的返回值类型,而我的Controller文件中并没有写他的返回值

SpringBoot实现登录注册常见问题解决方案

解决方法:把EmpeeMapper文件的insertEmpee方法修改为void类型

SpringBoot实现登录注册常见问题解决方案

添加成功并且成功跳转

SpringBoot实现登录注册常见问题解决方案

我还在网上看见另一种解决方法,是修改为int类型,经过验证确实可行

由于之后没有进行其他操作,因此不清楚这样做会对之后的操作是否有影响,总之还是一步一个脚印的改下去吧

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现远程调用MetaSploit的方法
Aug 22 Python
利用Hyperic调用Python实现进程守护
Jan 02 Python
15行Python代码带你轻松理解令牌桶算法
Mar 21 Python
python实现最长公共子序列
May 22 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
May 13 Python
分享PyCharm的几个使用技巧
Nov 10 Python
Python实现动态循环输出文字功能
May 07 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
Jun 18 Python
python使用QQ邮箱实现自动发送邮件
Jun 22 Python
Python中Selenium模块的使用详解
Oct 09 Python
如何在向量化NumPy数组上进行移动窗口
May 18 Python
解析python中的jsonpath 提取器
Jan 18 Python
Python读取文件内容为字符串的方法(多种方法详解)
Mar 04 #Python
python实现猜拳游戏
Mar 04 #Python
Python单例模式的四种创建方式实例解析
Mar 04 #Python
通过实例解析Python return运行原理
Mar 04 #Python
Python递归函数特点及原理解析
Mar 04 #Python
Mac中PyCharm配置Anaconda环境的方法
Mar 04 #Python
python实现简单井字棋游戏
Mar 04 #Python
You might like
简单谈谈php中ob_flush和flush的区别
2014/11/27 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
PHP与服务器文件系统的简单交互
2016/10/21 PHP
thinkPHP内置字符串截取函数用法详解
2016/11/15 PHP
javascript之锁定表格栏位
2007/06/29 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
node.js入门教程
2014/06/01 Javascript
js图片实时加载提供网页打开速度
2014/09/11 Javascript
JavaScript针对网页节点的增删改查用法实例
2015/02/02 Javascript
JavaScript中split() 使用方法汇总
2015/04/17 Javascript
如何用js 实现依赖注入的思想,后端框架思想搬到前端来
2015/08/03 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
自定义PC微信扫码登录样式写法
2017/12/12 Javascript
jQuery实现鼠标移入移出事件切换功能示例
2018/09/06 jQuery
JavaScript中的事件与异常捕获详析
2019/02/24 Javascript
js实现经典贪吃蛇小游戏
2020/03/19 Javascript
基于js实现判断浏览器类型代码实例
2020/07/17 Javascript
vue实现表格合并功能
2020/12/01 Vue.js
python定时采集摄像头图像上传ftp服务器功能实现
2013/12/23 Python
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
Python 统计字数的思路详解
2018/05/08 Python
Python实现端口检测的方法
2018/07/24 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
python word转pdf代码实例
2019/08/16 Python
利用python读取YUV文件 转RGB 8bit/10bit通用
2019/12/09 Python
德国知名健康零食网上商店:Seeberger
2017/07/27 全球购物
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
关于赌博的检讨书
2014/01/08 职场文书
教师自我反思材料
2014/02/14 职场文书
客户答谢会致辞
2015/01/20 职场文书
2015小学教育教学工作总结
2015/07/21 职场文书
初中生物教学反思
2016/02/20 职场文书
教你怎么用Python实现多路径迷宫
2021/04/29 Python
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python
golang fmt格式“占位符”的实例用法详解
2021/07/04 Golang
微信小程序实现轮播图指示器
2022/06/25 Javascript