小编给大家分享一下SpringBoot实现登录注册常见问题有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
<强>一、用户名密码都正确的情况下被登录拦截器拦截强>
控制台报错:org.apache.ibatis.executor。ExecutorException:查询运行,未发现结果地图映射语句的& # 39;com.spbt.mapper.EmpeeMapper.selectName& # 39;。# 39;进行实质性的年代可能结果类型和指定结果地图。
这个异常是在映射文件的& lt; select>标签中没有指定resultType或者resultMap,也就是说没有指定返回值类型或者返回值类型的映射集合
所以检查自己的mapper文件:
& lt; ? xml version=?.0“,编码=癠TF-8", ?比; & lt; ! DOCTYPE 映射器 ,,,PUBLIC “-//mybatis.org//DTD Mapper 3.0//EN" ,,,“http://mybatis.org/dtd/mybatis-3-mapper.dtd"比;=& lt; mapper 名称空间“com.spbt.mapper.EmpeeMapper"祝辞 & lt;才能select id=皊electName", parameterType=癝tring"比; ,,,select username 得到empee where 用户名=# {username} & lt;才能/select> & lt;才能select id=皊electPwdByName", parameterType=癝tring"比; ,,,select password 得到empee where 用户名=# {username} & lt;才能/select> & lt;/mapper>
可以发现我的& lt; select>标签中没有指定resultType,而是指定的parameterType(参数类型)
解决:将parameterType修改为resultType
登录成功:
这是LoginController的实现登录代码
RequestMapping (“/empee/login") public String 登录(@RequestParam (“username"), String 用户名、 ,,,,,,,,,@RequestParam (“password"), String 密码, ,,,,,,,,,Model 模型,HttpSession 会话){ if 才能;(empeeMapper.selectName(用户名)!=null) { ,,,//用户名存在 ,,,if (empeeMapper.selectPwdByName(用户名).equals(密码)){ ,,,,,//密码也正确 ,,,,,session.setAttribute (“loginEmpee"、用户名); ,,,,,return “重定向:/main.html"; ,,,}else { ,,,,,model.addAttribute (“msg",“密码错误“); ,,,,,return “重定向:/index"; ,,,} }else {才能 ,,,model.addAttribute (“msg",“用户名不存在,请注册“); ,,,return “重定向:/index"; ,,} }
我输入错误的信息,而点击登录之后应该会反馈给页面
解决:这其实是一个非常低级的错误,因为我设置了重定向重定向:/索引,所以重新定回这个页面当然就没有反馈信息了,去掉多余的重定向:/就可以了
<强>三,添加(注册)成功却跳转到空白页强>
点击添加,出现空白页
但是查看自己的数据库发现注册是成功的
控制台报错:org.apache.ibatis.binding。BindingException: Mapper方法& # 39;com.spbt.mapper.EmpeeMapper.insertEmpee& # 39;有一个不受支持的返回类型:类com.spbt.pojo。Empee
可以发现出错原因在于EmpeeMapper文件的insertEmpee方法,而且是返回值类型的错误
检查EmpeeMapper:
我使用的是Empee类型的返回值类型,而我的控制器文件中并没有写他的返回值
解决方法:把EmpeeMapper文件的insertEmpee方法修改为无效类型