javaweb项目中程序执行到servlet时数据库连接失败但是测试程序却能连接成功的问题

  问题描述:今天在做一个javaweb项目,在登录系统时,一直登录失败,具体servlet代码如下:

  

 

 

 

   可以看到,代码是没有任何问题的。正常来说在接受到用户提交的表单信息"name"和"password"后,实体类对象user应该是可以获取到数据库中该用户的信息的,不应该为null,但是程序直接跳到了最后一行代码req.getRequestDispatcher("index.jsp").forward(req, resp)。

  为了弄清楚原因,刚开始用了一个比较笨的方法,就是把"name","password"和"user"的值全都打印出来,然后发现"user"的值是null,所以才导致这段代码直接执行最后一个else语句。

  这个时候,本应该往数据库连接问题这个方向上去想的,但是!!我们的测试程序是能够成功连接数据并且输出数据的,证据如下:

       

  测试程序中能获取到数据库信息,但servlet中使用同样的方法获取到的值却为null,令我们百思不得其解。。

  最后,我们使用Eclipse断点调试代码,发现name和password都能获取到前端输入的值,但是数据库没连接上!!

 

  然后,我们到数据库连接的代码部分,检查,也没发现错误,这就很令人费解了。

  上述这一整个过程,花了一下午的时间。。。

  好的,重点来了,如何解决的:

原因是,那些连接数据库等等的jar包,我虽然导入到了我的项目里,但是该项目文件夹(WEB-INF/lib)下的jar包不全,有一些jar包为了省时间是从另一个项目的文件夹下导入的。。把完整的jar包放到该项目的WEB-INF/lib目录下后,问题解决了。

 

 

  总结:1、使用到的jar包要全部放到相应的目录下;

     2、不要因为怕麻烦,而花更多的时间去解决一些原本不会产生的问题!

 

最后的最后,感谢帮我找bug的舍友,我向你敬礼,salute!

 

2021-01-11 22:18:50

  

 

posted @   ruishu_0726  阅读(1336)  评论(3编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示