SpringBoot实现登录注册常见问题解决方案

 更新时间:2020年03月04日 14:09:54   作者:LonZyuan  
这篇文章主要介绍了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

登录成功:


二、页面没有显示传递的消息

这是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:/就可以了

三、添加(注册)成功却跳转到空白页

点击添加,出现空白页

但是查看自己的数据库发现注册是成功的

控制台报错: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:

我使用的是Empee类型的返回值类型,而我的Controller文件中并没有写他的返回值

解决方法:把EmpeeMapper文件的insertEmpee方法修改为void类型

添加成功并且成功跳转


我还在网上看见另一种解决方法,是修改为int类型,经过验证确实可行

由于之后没有进行其他操作,因此不清楚这样做会对之后的操作是否有影响,总之还是一步一个脚印的改下去吧

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python利用pythonping处理ping的示例详解

    Python利用pythonping处理ping的示例详解

    ping (Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序 。Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令。本文将利用pythonpin实现gping的处理,需要的可以参考一下
    2022-11-11
  • python 已知三条边求三角形的角度案例

    python 已知三条边求三角形的角度案例

    这篇文章主要介绍了python 已知三条边求三角形的角度案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python如何将多个模型的ROC曲线绘制在一张图(含图例)

    python如何将多个模型的ROC曲线绘制在一张图(含图例)

    这篇文章主要给大家介绍了关于python如何将多个模型的ROC曲线绘制在一张图的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-02-02
  • 简单的命令查看安装的python版本号

    简单的命令查看安装的python版本号

    在本篇内容里小编给大家整理的是关于简单的命令查看安装的python版本号的文章,需要的朋友们可以参考下。
    2020-08-08
  • 详解python tkinter 图片插入问题

    详解python tkinter 图片插入问题

    这篇文章主要介绍了详解python tkinter 图片插入问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • python tornado修改log输出方式

    python tornado修改log输出方式

    今天小编就为大家分享一篇python tornado修改log输出方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 使用python/pytorch读取数据集的示例代码

    使用python/pytorch读取数据集的示例代码

    这篇文章主要为大家详细介绍了使用python/pytorch读取数据集的示例,文中的示例代码讲解详细,具有一定参考价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12
  • Python+tkinter使用80行代码实现一个计算器实例

    Python+tkinter使用80行代码实现一个计算器实例

    这篇文章主要介绍了Python+tkinter使用80行代码实现一个计算器实例,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • python数据类型相关知识扩展

    python数据类型相关知识扩展

    今天带大家学习Python数据类型的扩展知识,文中有非常详细的介绍介代码示例,对正在学习python的小伙伴有很大的帮助,需要的朋友可以参考下
    2021-05-05
  • 深入解析Python中的lambda表达式的用法

    深入解析Python中的lambda表达式的用法

    这篇文章主要介绍了深入解析Python中的lambda表达式的用法,包括其与def之间的区别,需要的朋友可以参考下
    2015-08-08

最新评论