java.lang.NumberFormatException:空,错误状态为 500

java.lang.NumberFormatException: null with error status 500

我在将数据从 html 提交到 servlet 时遇到了问题 不能

这是我的 html 文件

<form action="Maths" method="post">


<input type="radio" id="add" name="math" value="add">
  <label for="add">Addition</label><br>
  <input type="radio" id="sub" name="math" value="sub">
  <label for="sub">Subtraction</label><br>
  <input type="radio" id="multi" name="math" value="multi">
  <label for="multi">Multiplication</label><br>
  <input type="radio" id="div" name="math" value="div">
  <label for="div">Division</label><br><br>
  Enter first number : <input type="number" id="first" required><br>
  Enter second number : <input type="number" id="second" required><br>
  <input type="submit" value="Check Result">
  </form>

这是获取数据的servlet文件

 package com.mathematical;

import java.io.IOException;
import java.io.PrintWriter;

import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;


public class Maths  extends HttpServlet {
    private static final long serialVersionUID = 1L;
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException,NumberFormatException {
        
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        int num1 = Integer.parseInt(request.getParameter("first"));
        int num2 = Integer.parseInt(request.getParameter("second"));
        System.out.println("Hello");
        String str = request.getParameter("math");
        
        int result = 0;
        if(str.equals("add"))
            result = num1 + num2;
        else if(str.equals("sub"))
            result = num1 - num2;
        else if(str.equals("multi"))
            result = num1 * num2;
        else
            result = num1 / num2;
        pw.println(result);
        
    }
}

错误:

HTTP 状态 500 – 内部服务器错误 输入异常报告

留言空

说明服务器遇到意外情况,无法完成请求。

异常

java.lang.NumberFormatException: null
    java.base/java.lang.Integer.parseInt(Integer.java:614)
    java.base/java.lang.Integer.parseInt(Integer.java:770)
    com.mathematical.Maths.doPost(Maths.java:19)
    jakarta.servlet.http.HttpServlet.service(HttpServlet.java:689)
    jakarta.servlet.http.HttpServlet.service(HttpServlet.java:770)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

注意服务器日志中提供了根本原因的完整堆栈跟踪。

使用名称参数代替 ID。更改代码中的以下 2 行并检查它是否有效。

Enter first number : <input type="number" id="first" name="first" required><br>
Enter second number : <input type="number" id="second" name="second" required><br>

此致, 哈里达斯.