gpt4 book ai didi

html - 如何解决 req.getParameter() 在 servlet 中返回 null?

转载 作者:行者123 更新时间:2023-11-28 23:10:56 25 4
gpt4 key购买 nike

我正在读取 2 个数字作为输入,并尝试使用 Servlet 在输出中动态打印它们,req.getParameter() 返回 null:

HTTP Status 500 – Internal Server Error Type Exception Report

Message null

Description The server encountered an unexpected condition thatprevented it from fulfilling the request.

Exception

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)Note The full stack trace of the root cause is available in the serverlogs.

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>

添加Servlet.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 控制台中。

最佳答案

您正在尝试解析 null,因此出现 NumberFormatException 或 500 错误。
您的请求没有参数 num1 和 num2。因为您的表单没有发送那些参数。
由于拼写错误,您的表格没有发送那些参数。您为属性值混合了双引号和单引号。确保两者都是双引号 "text" 或单引号 'text'

始终建议在浏览器控制台中查找错误(如果是 javascript),如果是 html,则查看页面源代码。

此拼写错误的结果。
enter image description here

在这种错误情况下。如果您尝试获取 typename
enter image description here

关于html - 如何解决 req.getParameter() 在 servlet 中返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58147868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com