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库urllib与urllib2主要区别分析
Jul 13 Python
Python脚本在Appium库上对移动应用实现自动化测试
Apr 17 Python
python去除文件中空格、Tab及回车的方法
Apr 12 Python
Python随机数用法实例详解【基于random模块】
Apr 18 Python
快速解决安装python没有scripts文件夹的问题
Apr 03 Python
Python面向对象之接口、抽象类与多态详解
Aug 27 Python
Python定时发送消息的脚本:每天跟你女朋友说晚安
Oct 21 Python
pandas修改DataFrame列名的实现方法
Feb 22 Python
python pyinstaller打包exe报错的解决方法
Nov 02 Python
Python流程控制语句的深入讲解
Jun 15 Python
pycharm debug 断点调试心得分享
Apr 16 Python
Python入门之使用pandas分析excel数据
May 12 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
Banner程序
2006/10/09 PHP
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
2011/10/31 PHP
PHP文章按日期(月日)SQL归档语句
2012/11/29 PHP
PHP实现简单的模板引擎功能示例
2017/09/02 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
按钮JS复制文本框和表格的代码
2011/04/01 Javascript
js实现收缩菜单效果实例代码
2013/10/30 Javascript
jquery选择器之内容过滤选择器详解
2014/01/27 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
2014/01/28 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
2014/11/26 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
解析Vue 2.5的Diff算法
2017/11/28 Javascript
详解js的视频和音频采集
2018/08/09 Javascript
jQuery ajax仿Google自动提示SearchSuggess功能示例
2019/03/28 jQuery
Vue基础学习之项目整合及优化
2019/06/02 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
2019/08/22 Javascript
vue使用nprogress加载路由进度条的方法
2020/06/04 Javascript
jQuery实现B2B网站后台管理系统侧导航
2020/07/08 jQuery
Python建立Map写Excel表实例解析
2018/01/17 Python
Python基于多线程实现抓取数据存入数据库的方法
2018/06/22 Python
python分批定量读取文件内容,输出到不同文件中的方法
2018/12/08 Python
python中update的基本使用方法详解
2019/07/17 Python
django rest framework 实现用户登录认证详解
2019/07/29 Python
使用pickle存储数据dump 和 load实例讲解
2019/12/30 Python
解决pycharm中导入自己写的.py函数出错问题
2020/02/12 Python
HTML table 表格边框的实现思路
2019/10/12 HTML / CSS
Html5跳转到APP指定页面的实现
2020/01/14 HTML / CSS
Foot Locker英国官网:美国知名运动产品零售商
2019/02/21 全球购物
eDreams葡萄牙:全球最大的在线旅行社之一
2019/04/15 全球购物
5个HTML5的常用本地存储方式详解与介绍
2021/03/27 HTML / CSS
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
2014年人事专员工作总结
2014/11/19 职场文书
八一建军节主持词
2015/07/01 职场文书
小组口号霸气押韵
2015/12/24 职场文书
党风廉政建设心得体会
2019/05/21 职场文书