在NetBeans中运行项目时出现NumberFormatException

时间:2013-06-29 15:08:40

标签: java servlets netbeans

我对servlet有点新,我使用的是 NetBeans ,我有一个servlet接受用户的号码并打印它乘法表。
我有TableServlet.java如下 - >

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class TableServlet extends HttpServlet
{
    @Override
    public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
    {
        PrintWriter out=response.getWriter();
        response.setContentType("text/html");
        String s=request.getParameter("t1");
        int x= Integer.parseInt(s);
        for(int i=1;i<=10;i++)
        {
            out.println(x+"x"+i+"="+i*x);
        }
        out.close();
    }    
}

我有newhtml.html如下 - &gt;

<html>
    <body>
        <form action="TableServlet" method="get">
            Enter any number
            <input type="text" name="t1" />
            <input type="submit" value="GetTable"/>
        </form>
    </body>
</html>

它已成功部署,但在运行此项目后浏览器上未找到任何输出。 相反,我只能在浏览器上看到这一点 - &gt;

HTTP Status 500 -

type Exception report

message

descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NumberFormatException: null
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.1.2.2 logs.

GlassFish Server Open Source Edition 3.1.2.2

可能是什么原因?

1 个答案:

答案 0 :(得分:3)

此行很可能抛出异常:

int x = Integer.parseInt(s);

原因是s的值不是有效整数。

确实,这条消息:

java.lang.NumberFormatException: null

告诉我们s的值是null!这意味着正在处理的请求没有"t1"参数。我无法立即看到导致这种情况的原因,但主要的嫌疑人是HTML表单。

以下是一些想法:

  • 尝试在浏览器的网址栏中撰写请求网址。
  • 使用浏览器的网络调试程序查看使用表单时向服务器发送的请求网址。