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>
此致,
哈里达斯.
我在将数据从 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>
此致, 哈里达斯.