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 28 Python
Python学生信息管理系统修改版
Mar 13 Python
利用Python如何制作好玩的GIF动图详解
Jul 11 Python
python 判断字符串中是否含有汉字或非汉字的实例
Jul 15 Python
python实现猜拳小游戏
Apr 05 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
Aug 31 Python
Python读取实时数据流示例
Dec 02 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
Feb 11 Python
Python爬虫中Selenium实现文件上传
Dec 04 Python
如何用python爬取微博热搜数据并保存
Feb 20 Python
基于Python的EasyGUI学习实践
May 07 Python
用python删除文件夹中的重复图片(图片去重)
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
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
2014/04/10 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
2013/11/14 Javascript
node.js中的console.error方法使用说明
2014/12/10 Javascript
ubuntu下安装nodejs以及升级的办法
2015/05/08 NodeJs
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
2015/09/23 Javascript
Node.js的环境安装配置(使用nvm方式)
2016/10/11 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
2017/06/13 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
2017/08/08 jQuery
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
axios取消请求的实践记录分享
2018/09/26 Javascript
微信小程序登录数据解密及状态维持实例详解
2019/05/06 Javascript
深入了解响应式React Native Echarts组件
2019/05/29 Javascript
解决vue打包后vendor.js文件过大问题
2019/07/03 Javascript
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
用vue写一个日历
2020/11/02 Javascript
Python判断操作系统类型代码分享
2014/11/22 Python
解读Python中degrees()方法的使用
2015/05/18 Python
Python爬虫运用正则表达式的方法和优缺点
2019/08/25 Python
Anaconda详细安装步骤图文教程
2020/11/12 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
利用CSS3的特性改变文本选中时的颜色
2013/09/11 HTML / CSS
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
使用Html5中的cavas画一面国旗
2019/09/25 HTML / CSS
《湘夫人》教学反思
2014/02/21 职场文书
火锅店的活动方案
2014/08/15 职场文书
群众路线表态发言材料
2014/10/17 职场文书
简历自我评价模板
2015/03/11 职场文书
忠犬八公的故事观后感
2015/06/05 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书
企业团队精神心得体会
2016/01/19 职场文书
nginx实现发布静态资源的方法
2021/03/31 Servers
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android