Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database JSP中的空点异常_Database_Jsp_Exception_Glassfish_Nullpointerexception - Fatal编程技术网

Database JSP中的空点异常

Database JSP中的空点异常,database,jsp,exception,glassfish,nullpointerexception,Database,Jsp,Exception,Glassfish,Nullpointerexception,当我尝试将表单中的数据添加到数据库时,它会给我一个错误,如下所示: 例外情况 org.apache.jasper.jaspereException:java.lang.NumberFormatException: 无效的 根本原因 java.lang.NumberFormatException:null 这是我的代码 有人能帮我吗?谢谢。java.lang.NumberFormatException:null似乎是一个明确的指针,表明您试图将null字符串参数转换为整数,或者字符串不是有效数字

当我尝试将表单中的数据添加到数据库时,它会给我一个错误,如下所示:

例外情况

org.apache.jasper.jaspereException:java.lang.NumberFormatException: 无效的 根本原因

java.lang.NumberFormatException:null

这是我的代码

有人能帮我吗?谢谢。

java.lang.NumberFormatException:null
似乎是一个明确的指针,表明您试图将null
字符串
参数转换为
整数
,或者
字符串
不是有效数字

检查以下行中是否有空整数/无效整数:

int zip = Integer.parseInt(request.getParameter("zip"));
int mobileNo = Integer.parseInt(request.getParameter("mobileNo"));
int homePhone = Integer.parseInt(request.getParameter("homePhone"));

另外,我建议改用
Integer
返回,这样您仍然可以将它们传递给
PreparedStatement
,以防它们为null/由于
String
格式不正确而无法初始化

这三条线中的一条似乎给了你这个问题

int zip = Integer.parseInt(request.getParameter("zip"));
int mobileNo = Integer.parseInt(request.getParameter("mobileNo"));
int homePhone = Integer.parseInt(request.getParameter("homePhone"));
你确定它们都是数字吗?如果其中一个为空、null、unset或具有任何类型的分隔符,如
1-800-123-4567
,则不能将其存储为数字和
整数。ParseInt()
将抛出
NumberFormatException


编辑:你说你的电话号码是10位数字,完全是数字。但是,由于Java
整数
没有那么高的精度,您仍然会遇到问题。事实上,它不能存储任何大于20亿的数字。

另一方面,我不会将整数用于电话号码。我在斯里兰卡。在这里,我们只使用10位数字作为电话号码。在mySQL中,我创建了相关字段INT(11)。是的,它们是数字。在提交表单之前,我已经通过javascrpit验证了输入。但是之前我做了同样的事情,并且成功了。感谢您提供的信息。问题在于从表单中获取参数。以及INT(11)中保存的电话号码,无任何错误。:)谢谢你的善意帮助,当我面临绝路时,你真的需要帮助。KIT@sumer很高兴这有帮助,我在谷歌上搜索了斯里兰卡的电话号码,它之所以有效,是因为它们都是以0开头的区号开始的,所以所有号码都在10亿以下。换句话说,对于这种情况,一个
整数就足够了。谢谢您提供的信息。问题在于从表单中获取参数。以及INT(11)中保存的电话号码,无任何错误。:)谢谢你的善意帮助,当我面临绝路时,你真的需要帮助。配套元件
int zip = Integer.parseInt(request.getParameter("zip"));
int mobileNo = Integer.parseInt(request.getParameter("mobileNo"));
int homePhone = Integer.parseInt(request.getParameter("homePhone"));