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通过递归遍历出集合中所有元素的方法
Feb 25 Python
Python中%r和%s的详解及区别
Mar 16 Python
python使用代理ip访问网站的实例
May 07 Python
Python装饰器用法实例总结
May 26 Python
python3实现域名查询和whois查询功能
Jun 21 Python
详解Python是如何实现issubclass的
Jul 24 Python
在tensorflow中实现去除不足一个batch的数据
Jan 20 Python
python 实现一个图形界面的汇率计算器
Nov 09 Python
python中操作文件的模块的方法总结
Feb 04 Python
Python第三方库安装缓慢的解决方法
Feb 06 Python
Python中OpenCV实现查找轮廓的实例
Jun 08 Python
Python find()、rfind()方法及作用
Dec 24 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之对抗Web扫描器的脚本技巧
2008/10/01 PHP
php ss7.5的数据调用 (笔记)
2010/03/08 PHP
PhpDocumentor 2安装以及生成API文档的方法
2014/05/21 PHP
PHP连接sql server 2005环境配置及问题解决
2014/08/08 PHP
php简单实现多维数组排序的方法
2016/09/30 PHP
php 如何禁用eval() 函数实例详解
2016/12/01 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
javascript 点击整页变灰的效果(可做退出效果)。
2008/01/09 Javascript
javascript 快速排序函数代码
2012/05/30 Javascript
js实现的常用的左侧导航效果
2013/10/17 Javascript
JavaScript实现多维数组的方法
2013/11/20 Javascript
js与jQuery 获取父窗、子窗的iframe
2013/12/20 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
深入浅析JavaScript中的arguments对象(强力推荐)
2016/06/03 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
2019/04/25 Javascript
[02:22]《新闻直播间》2017年08月14日
2017/08/15 DOTA
python中字典(Dictionary)用法实例详解
2015/05/30 Python
Python中的os.path路径模块中的操作方法总结
2016/07/07 Python
python requests post多层字典的方法
2018/12/27 Python
python Pexpect 实现输密码 scp 拷贝的方法
2019/01/03 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
Python3.x+pyqtgraph实现数据可视化教程
2020/03/14 Python
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
python+selenium小米商城红米K40手机自动抢购的示例代码
2021/03/24 Python
自荐信封面
2013/12/04 职场文书
成品仓管员岗位职责
2013/12/11 职场文书
哈理工毕业生的求职信
2013/12/22 职场文书
先进事迹报告会感言
2014/01/24 职场文书
学生周末长期请假条
2014/02/15 职场文书
进步之星获奖感言
2014/02/22 职场文书
新年联欢会主持词
2014/03/27 职场文书
食品安全承诺书
2014/05/22 职场文书
详解CSS伪元素的妙用单标签之美
2021/05/25 HTML / CSS
Vue图片裁剪组件实例代码
2021/07/02 Vue.js