前提

1、最近在写SSM博客项目(基于jsp编写的),跟着视频敲,直接运行已经给好的资料,在登录验证的时候,发现页面加载半天,如下图。
2、于是就盲目的去比对是不是自己复制的代码有问题。然后就一行行的比对,这犯了程序员的一个十分低级的错误,遇到问题,不先去思考为什么,反而直接去比对代码,这十分不好,虽然这也是理顺js的跳转逻辑,但不建议马上一行一行的比对代码。

在这里插入图片描述

解决思路

1、遇到一直验证中,先打开F12,看看是什么错误先,知道错误的来源,就事半功倍了,起码有个头绪,明白往哪个方向解决问题。

在这里插入图片描述

这里说,我post的页面发生了500错误,这就是编写代码的问题了。但还不知道问题出在哪里。
2、于是点开Preview或者Response,发现BadSql

在这里插入图片描述

3、这个时候,就很清楚了,既然是sql语句的问题,也就是说,在登录认证的时候,查询用户信息的SQL语句是错误。而这个查询SQL语句的事情就是后端,Mapper层做的
4、于是,这个时候,你就应该到后端去测试一下,查找用户的sql,是否正确找到
报错:Unknown column 'loginCout' in 'field list'找不到loginCout字段
5、这种错误就是说,实体类的属性和数据库表的字段名匹配不上,没有一一对应

在这里插入图片描述

orm:数据库的一张表,对应这pojo的一个实体类

在这里插入图片描述

6、修改实体类的属性,要跟数据库表的字段名一致

 private String loginCount;

7、再次测试,后端成功查到该用户信息

在这里插入图片描述

8、后端解决了,再测试前端,看看能否登陆后端

在这里插入图片描述

心得

1、碰到问题,先找造成问题的原因,再根据问题的本身,找解决方案
2、通过f12查看是sql出了问题
3、后端测试sql,发现实体类User的属性和数据库表user的字段名不一致
4、后端测试成功后,在去前端测试,是否成功!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐