Я пытаюсь создать программу на 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);
}
}
Однако, когда я запускаю файл HTML в Chrome, ничего не происходит.
Кроме того, когда я добавляю следующий код в свой класс 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 я добавляю? Где мне их взять?
Спасибо!