我正在读取 2 个数字作为输入,并尝试使用 Servlet 在输出中动态打印它们,req.getParameter() 返回 null:
HTTP 状态 500 – 内部服务器错误类型异常报告
消息为空
描述 服务器遇到意外情况 阻止它满足请求。
异常
java.lang.NumberFormatException: null java.lang.Integer.parseInt(Integer.java:542) java.lang.Integer.parseInt(Integer.java:615) com.telusko.AddServlet.service(AddServlet.java:11) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 注意根本原因的完整堆栈跟踪可在服务器中找到 日志。
Apache Tomcat/9.0.26
索引.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="add">
Enter 1st number: <input type="text' name="num1"><br>
Enter 2nd number: <input type="text' name="num2"><br>
<input type="submit">
</form>
</body>
</html>
AddServlet.java
package com.telusko;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AddServlet extends HttpServlet
{
public void service(HttpServletRequest req, HttpServletResponse res)
{
int i =Integer.parseInt(req.getParameter("num1"));
int j =Integer.parseInt(req.getParameter("num2"));
int k = i + j;
System.out.println("result is"+k);
}
}
Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID"
version="3.1">
<servlet>
<servlet-name>abc</servlet-name>
<servlet-class>com.telusko.AddServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>abc</servlet-name>
<url-pattern>/add</url-pattern>
</servlet-mapping>
我知道我的结果将打印在我的 Eclipse 控制台中。