Database JSP中的空点异常
当我尝试将表单中的数据添加到数据库时,它会给我一个错误,如下所示: 例外情况 org.apache.jasper.jaspereException:java.lang.NumberFormatException: 无效的 根本原因 java.lang.NumberFormatException:nullDatabase 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字符串参数转换为整数,或者字符串不是有效数字
这是我的代码
有人能帮我吗?谢谢。
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"));