【发布时间】:2018-12-10 01:47:12
【问题描述】:
我正在尝试创建一个 Java 程序,该程序对 HTML 调查的响应执行一些操作。这是我到目前为止所做的:
HTML 表单代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Patient Survey</title>
</head>
<body>
<h2>Patient Survey</h2>
<p>Please answer in the following questions and press the "Submit" button.</p>
<form name="patientForm" method="post" action="patientServlet" >
Full name: <input type="text" name="Name" value=""><br>
<BR>
Select your state:
<select name="State">
<OPTION VALUE=>
<OPTION VALUE=AL>California
<OPTION VALUE=AK>Washington
<OPTION VALUE=AZ>Maine
<OPTION VALUE=PA>Pennsylvania
<OPTION VALUE=MN>Minnesota
</select>
<BR>
<BR>
Age (optional)
<SELECT NAME="MyAge" ><OPTION>
<OPTION VALUE=1 > -20
<OPTION VALUE=2 > 20 - 25
<OPTION VALUE=3 > 26 - 30
<OPTION VALUE=4 > 31 - 35
<OPTION VALUE=5 > 36 - 40
<OPTION VALUE=6 > 41 - 45
<OPTION VALUE=7 > 46 - 50
<OPTION VALUE=8 > 51 - 55
<OPTION VALUE=9 > 56 - 60
<OPTION VALUE=10 > 61+
</SELECT>
<BR>
<BR>
List any previous injuries: <input type="text" injury="Previous Injuries" value=""><br>
<p>
<input type="checkbox" name="Injury" value=>Diabetes<br><br>
<input type="checkbox" name="Injury" value=>Cholesterol<br><br>
<input type="checkbox" name="Injury" value=>Back Fracture<br><br>
<input type="checkbox" name="Injury" value=>Leg Fracture<br><br>
</p>
<input type="submit" value="Submit" />
</form>
</body>
</html>
Java 类代码:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/patientServlet")
public class patientServlet extends HttpServlet {
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// read form fields
String name = request.getParameter("Name");
String state = request.getParameter("State");
String age = request.getParameter("MyAge");
String injury = request.getParameter("Injury");
System.out.println("name: " + name);
System.out.println("injury: " + injury);
}
}
但是,当我在 Chrome 中运行 HTML 文件时,没有任何反应。
此外,当我将以下代码添加到我的 Java 类时,出现错误“页面加载失败并出现错误:在此服务器上找不到请求的 URL。”弹出:
//get response writer
PrintWriter writer = response.getWriter();
// build HTML code
String htmlResponse = "<html>";
htmlResponse += "<h2>Your name is: " + name + "<br/>";
htmlResponse += "Your injury is: " + injury + "</h2>";
htmlResponse += "</html>";
// return response
writer.println(htmlResponse);
我该怎么办?我应该用不同的方法重新开始吗?
请告诉我如何在我的代码中访问我的 HTML 响应变量。
另外一个问题是:当我在我的main方法中使用这个类的时候,我放了哪些HttpServletRequest和HttpServletResponse对象呢?我在哪里可以得到这些?
谢谢!
【问题讨论】:
-
一切看起来都很好。可以尝试使类名以大写字母开头并添加@override注解。我所说的只是在野外尝试。 :D。此外,您应该确保将文件放在服务器目录中。你可能忘记了。
-
The requested URL was not found是部署问题,而不是代码问题。检查您的路径语法,它可能是错误的。我认为最好的方法是向应用程序添加一个简单的“Hello World”JSP 页面并确保您可以加载它。那你就知道路径是正确的了。