gpt4 book ai didi

java - `null` servlet 中请求的结果

转载 作者:行者123 更新时间:2023-12-01 11:26:17 24 4
gpt4 key购买 nike

我是 servlet 新手 -

我正在表单中填写文本,但请求中的值为空-

In login page-

<body>
<form action="">
<input type="text" name="uname">
<input type="text" name="pwd">
<a href="display.jsp">link</a>
</form>
</body>

enter image description here

In DisplayPage-

<body>
Display:
<%
String uname=(String)request.getParameter("uname");
String upass=(String)request.getParameter("pwd");
out.println(uname+" - "+upass);
Enumeration<String> enumeration = request.getParameterNames();
boolean b=enumeration.hasMoreElements();
out.println(b);
while (enumeration.hasMoreElements()) {
String name = (String) enumeration.nextElement();
String data=(String)request.getParameter(name);
out.println(name+" - "+data);
}

%>
</body>

enter image description here

现在,我的 unameupass 的结果值为 null,因此 boolean bfalse。奇怪!

我的问题是-如果我们使用 anchor 标记时创建请求对象,因为调用getParameter(时没有NPE )request 对象上,那么这个 request 对象附加了什么类型的数据。为什么要向我们提供这个?

最佳答案

因为您没有向服务器提交您的表单,或者没有传递网址中的任何值,而是单击链接,这将将其重定向到您的链接。

<body>
<form action="display.jsp"> // added action
<input type="text" name="uname">
<input type="text" name="pwd">
<button type="submit">Link</button> // added submit button
</form>
</body>

更新问题

在服务器端,每个请求都作为 HttpServletRequest 对象进行处理。因此,当我们提交表单时,每个输入字段都会被提交,然后从服务器端的请求对象中检索它。

关于java - `null` servlet 中请求的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30778764/

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