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中规范定义命名空间的一些建议
Jun 04 Python
Python编码爬坑指南(必看)
Jun 10 Python
利用python发送和接收邮件
Sep 27 Python
机器学习经典算法-logistic回归代码详解
Dec 22 Python
python操作列表的函数使用代码详解
Dec 28 Python
Python+OpenCV实现车牌字符分割和识别
Mar 31 Python
利用pandas读取中文数据集的方法
Jul 25 Python
python实现两张图片的像素融合
Feb 23 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
Apr 18 Python
Python3 批量扫描端口的例子
Jul 25 Python
python基于FTP实现文件传输相关功能代码实例
Sep 28 Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 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实现微信退款的方法示例
2019/03/26 PHP
js自定义事件代码说明
2011/01/31 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
js中widow.open()方法使用详解
2013/07/30 Javascript
JS数组(Array)处理函数整理
2014/12/07 Javascript
jQuery基本选择器和层次选择器学习使用
2017/02/27 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
2017/03/30 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
微信小程序之多文件下载的简单封装示例
2018/01/29 Javascript
Vue组件创建和传值的方法
2018/08/17 Javascript
JS实现的类似微信聊天效果示例
2019/01/29 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
微信小程序代码上传、审核发布小程序
2019/05/18 Javascript
vue实现短信验证码登录功能(流程详解)
2019/12/10 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
JavaScript实现点击图片换背景
2020/11/20 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
pycharm打开命令行或Terminal的方法
2019/01/16 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
2019/06/13 Python
django中media媒体路径设置的步骤
2019/11/15 Python
python爬取本站电子书信息并入库的实现代码
2020/01/20 Python
python suds访问webservice服务实现
2020/06/26 Python
HTMl5的存储方式sessionStorage和localStorage详解
2014/03/18 HTML / CSS
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
联想阿根廷官方网站:Lenovo Argentina
2019/10/14 全球购物
Oracle的内存结构(Memory structures)
2015/06/10 面试题
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
自考生自我评价分享
2014/01/18 职场文书
期末自我鉴定
2014/01/23 职场文书
无子女夫妻离婚协议书(4篇)
2014/10/20 职场文书
自荐信大全
2019/03/21 职场文书
golang 实现时间戳和时间的转化
2021/05/07 Golang
elementui的el-popover修改样式不生效的解决
2021/06/30 Javascript
pandas中对文本类型数据的处理小结
2021/11/01 Python
利用Apache Common将java对象池化的问题
2022/06/16 Servers
JS前端轻量fabric.js系列之画布初始化
2022/08/05 Javascript