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