【报错:For input string: ""报错: get connection error! 报错:java.lang.NullPointerException 报错:java.lang.NumberFormatException: For input string: "id"】解决方案

 

原因:没有input数据进入,但是当我填写数据进入的时候

 

 

 

 get connection error!

这个消息,是我要抛出去的异常,源代码下

 

 我一开始觉得是代码书写的问题,找..........

应该是数据库连接的代码有问题

 修改了jar包,解决了问题【这里大家一定要注意mysql8.0和mysql5.0连接数据库的代码和驱动包的不同!!!】

之后就出现了另一个问题:java.lang.NumberFormatException: For input string: "id"

 

 

 

解决措施:

1.错误分析

数字格式转换异常,接着后面的For input string: "id"提示,说明想把String类型的“id”转换成整型时出错了。

2.找到问题点

看具体时哪个类的哪个方法的哪一行的错误,开始debug进行定位

 

于是我看了我的数据库的id类型,以及定义的id类型

 

 问题是对于新增数据来说,可以实现数据库的更新,但是没办法显示在页面上。

debug后发现,在这一行代码上面出现的问题:接收不到数据

<c:forEach items="${list}" var="list">
<tr>
<td>${list.id}</td>
<td>${list.type}</td>
<td>${list.text}</td>
<td><a href="/noteServlet?action=QueryById=${list.id}" style="text-decoration:none" onclick="update(this)">修改&nbsp;</a>
<a href="/noteServlet?action=Delete&id=${list.id}" style="text-decoration: none">删除</a> </td>
</tr>
</c:forEach>

 我的问题就是c没有全部包含,就报了数据转换的问题,所以有的时候不一定就是数据类型的问题,最好还是debug一行一行代码看一下。

接着就有出现了另一个问题

点击修改的时候,servlet不会跳转到note.jsp页面(欸,这就让我很是无语啊)

找到问题啦!

注意我原来的代码是这样的

实际上应该是这样的

 

 所以之前就接收不到id,自然没有办法查询到要修改的那条数据了

ok,下面就进入到了第二个问题

修改完之后,查询数据,修改效果为零,数据库里面也没有办法实现修改(欸,心累了,这么看我都感觉自己好菜啊,虽然确实菜,不过几乎每一个功能都有问题,话不多说了)

再次进行debug

 

 这里可以看到数据是传进来了

 不知道怎么搞的又可以了,就这样吧!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



posted @ 2023-02-24 00:39  喝着农药吐泡泡o  阅读(647)  评论(0编辑  收藏  举报