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字符串连接方法分析
Apr 12 Python
python语言使用技巧分享
May 31 Python
python中的插值 scipy-interp的实现代码
Jul 23 Python
Python GUI布局尺寸适配方法
Oct 11 Python
python cv2截取不规则区域图片实例
Dec 21 Python
Python 实现加密过的PDF文件转WORD格式
Feb 04 Python
python dumps和loads区别详解
Feb 04 Python
Django与pyecharts结合的实例代码
May 13 Python
keras自定义损失函数并且模型加载的写法介绍
Jun 15 Python
基于python实现操作git过程代码解析
Jul 27 Python
利用Python中的Xpath实现一个在线汇率转换器
Sep 09 Python
python中scipy.stats产生随机数实例讲解
Feb 19 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下载文件的详解
2013/06/02 PHP
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
取得一定长度的内容,处理中文
2006/12/20 Javascript
增强的 JavaScript 的 trim 函数的代码
2007/08/13 Javascript
jquery下操作HTML控件的实现代码
2010/01/12 Javascript
基于JavaScript制作霓虹灯文字 代码 特效
2015/09/01 Javascript
JavaScript 基础函数_深入剖析变量和作用域
2016/05/18 Javascript
浅谈JavaScript的闭包函数
2016/12/08 Javascript
vue双向绑定的简单实现
2016/12/22 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
AngularJS自定义指令详解(有分页插件代码)
2017/06/12 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
vue select二级联动第二级默认选中第一个option值的实例
2018/01/10 Javascript
Node.js实现注册邮箱激活功能的方法示例
2018/03/23 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
vue 巧用过渡效果(小结)
2018/09/22 Javascript
每个 JavaScript 工程师都应懂的33个概念
2018/10/22 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
js实现蒙版效果
2020/01/11 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
js实现百度淘宝搜索功能
2020/02/17 Javascript
深入解读VUE中的异步渲染的实现
2020/06/19 Javascript
Python获取DLL和EXE文件版本号的方法
2015/03/10 Python
对numpy 数组和矩阵的乘法的进一步理解
2018/04/04 Python
解决yum对python依赖版本问题
2019/07/05 Python
罗马尼亚在线杂货店:Pilulka.ro
2019/09/28 全球购物
中学生团员自我评价分享
2013/12/07 职场文书
便利店投资的创业计划书
2014/01/12 职场文书
保卫科工作岗位职责
2014/03/01 职场文书
函授生自我鉴定
2014/03/25 职场文书
初中优秀班集体申报材料
2014/05/01 职场文书
信用卡工资证明格式
2014/09/13 职场文书
2014年医务科工作总结
2014/12/18 职场文书
党支部半年考察意见
2015/06/01 职场文书
Redis 配置文件重要属性的具体使用
2021/05/20 Redis