今天在做某马的Demo时遇到一个问题:数据库中正确的username,和password在页面上都输入正确后,提交表单时却显示用户名或密码错误,如图:
开始我认为时Dao层(去数据库查找时)出现了问题,可能返回了空的对象,但是经过我的对比发现,和教程上讲的一样,后来我经过查找发现实际上是这部分抛出了异常。
然后我感觉可能是将map赋值给user时出现了错误,然后我将user通过
System.out.println();
打印了一下,然后发现值全为null,如图
然后我意识到是前边获取数据的问题。然后我确认了一下
Map<String, String[]> loginMap = request.getParameterMap();
这个代码无误后,感觉是jsp的name出现问题,然后开始了第n遍看视频,最后我意识到,自己定义的user类的属性名的大小写应该与jsp中的标签的name的名字一样,由于我自己在user中用了驼峰式,导致数据获取不到,如图
经过修改后,再次启动服务器,输入正确的用户名和密码就可以跳转成功了 。
总结:在编写时一定要注意单词大小写,前后一定要一致。自己Java刚刚入门,如果写的不好,大家见谅。