Http 500内部服务器错误

时间:2012-04-02 07:19:46

标签: jsp arguments internal-server-error get-request

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'的值

如何解决?

3 个答案:

答案 0 :(得分:1)

这是因为您尝试使用Integer.parseInt

解析“”

检查Integer parseInt() API

当您未传递任何值时,如下所示

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错误消息”下。这样您就可以更好地描述错误。

为了帮助您自己编写代码,您需要发布它。