http://localhost:8080/file.jsp?arg1=&arg2=11
成功运行
http://localhost:8080/file.jsp?arg1=&arg2=
(参数“arg2”的空值)
显示 500 内部服务器错误
'arg2' 的值被 ' ' 中的 ' int
' 变量jsp
使用Integer.parseInt(request.getParameter("arg2")
如何解决?
http://localhost:8080/file.jsp?arg1=&arg2=11
成功运行
http://localhost:8080/file.jsp?arg1=&arg2=
(参数“arg2”的空值)
显示 500 内部服务器错误
'arg2' 的值被 ' ' 中的 ' int
' 变量jsp
使用Integer.parseInt(request.getParameter("arg2")
如何解决?
这是因为您正在尝试解析“”Integer.parseInt
当您不传递任何值时,如下所示
http://localhost:8080/file.jsp?arg1=&arg2=
空字符串将在 http 请求参数中传递。
所以,从字符串解析整数时最好放空检查。
int arg2 = !"".equals(request.getParameter("arg2")) ?
Integer.parseInt(request.getParameter("arg2")): 0;
最好根据需要检查查询参数。在这种情况下,您可以使用org.apache.commons.lang.math.NumberUtils库来检查输入的值是否为数字,如果不是数字则使用默认值。
int arg2 = NumberUtils.isNumber(request.getParameter("arg2")) ? Integer.parseInt(request.getParameter("arg2")) : 0;
如果您使用的是 Internet Explorer,请转到工具 - Internet 选项 - 高级 - 浏览下的“显示友好的 HTTP 错误消息”。这将使您能够更好地描述错误是什么。
为了帮助您编写代码本身,您需要发布它。