下面来看一个例子:登录成功后,并没有显示菜单一栏,request有值,但是页面中就是不显示菜单栏的数据。
通过截图也可以看到,size的值为0,然后导致页面的菜单栏没有数据显示。我通过断点发现,登录后第一个跳转的并不是dao层,没有首先跳转到dao层,那么接下来的service就调用不到dao中的数据,servlet就接收不了参数,jsp也提交不了表单,所有应该是dao的页面出现了问题。
可以从截图看到,菜单栏那块,是空白的,是没有数据的,查询语句我在sql中试过,可以查询出数据,所以,问题并不是出在查询语句那块。那么查询语句没问题,就可能是我写的代码哪里有错误。可能是一个字母打错了,也可能是逻辑不对导致无法获取到数据。
后续我通过检查发现,下面这段代码里面,有两行跟数据库中的值对不上。那就是字母打错了,然后我进行了更改后,问题果然是出现在这一块。两个字母打错,就能影响到整个代码的运行。
修改后也可以看到,数据出来了。我这个例子可以告诉大家,在写代码的过程中,一定要认真仔细,要不然,找一上午的错误,就是因为一个字母打错了。