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中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
Apr 18 Python
一行代码让 Python 的运行速度提高100倍
Oct 08 Python
pandas.dataframe按行索引表达式选取方法
Oct 30 Python
python print输出延时,让其立刻输出的方法
Jan 07 Python
python实现石头剪刀布程序
Jan 20 Python
python爬虫刷访问量 2019 7月
Aug 01 Python
python 实现矩阵填充0的例子
Nov 29 Python
python orm 框架中sqlalchemy用法实例详解
Feb 02 Python
jupyter notebook 多环境conda kernel配置方式
Apr 10 Python
Python venv虚拟环境配置过程解析
Jul 08 Python
python 获取字典特定值对应的键的实现
Sep 29 Python
Python读取文件夹下的所有文件实例代码
Apr 02 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获得用户使用的代理服务器ip即真实ip
2006/12/31 PHP
PHP学习笔记之数组篇
2011/06/28 PHP
解析php中反射的应用
2013/06/18 PHP
php获取网页中图片、DIV内容的简单方法
2014/06/19 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
php相对当前文件include其它文件的方法
2015/03/13 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
基于jQuery的ajax功能实现web service的json转化
2009/08/29 Javascript
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
再谈javascript图片预加载技术(详细演示)
2011/03/12 Javascript
仿新浪微博返回顶部的jquery实现代码
2012/10/01 Javascript
javascript中[]和{}对象使用介绍
2013/03/20 Javascript
使用jQuery或者原生js实现鼠标滚动加载页面新数据
2016/03/06 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
vue返回上一页面时回到原先滚动的位置的方法
2018/12/20 Javascript
layui使用表格渲染获取行数据的例子
2019/09/13 Javascript
小程序采集录音并上传到后台
2019/11/22 Javascript
node静态服务器实现静态读取文件或文件夹
2019/12/03 Javascript
用Python实现一个简单的线程池
2015/04/07 Python
简单分析Python中用fork()函数生成的子进程
2015/05/04 Python
Python语法分析之字符串格式化
2019/06/13 Python
python匿名函数用法实例分析
2019/08/03 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
2019/08/06 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
一文读懂python Scrapy爬虫框架
2021/02/24 Python
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
大一期末自我鉴定
2013/12/13 职场文书
生产部岗位职责范文
2014/02/07 职场文书
个人授权委托书模板
2014/09/14 职场文书
2015年学生会工作总结范文
2015/03/31 职场文书
银行稽核岗位职责
2015/04/13 职场文书
2015年加油站站长工作总结
2015/05/27 职场文书
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技