Как получить доступ к переменным ответа HTML в коде Java - PullRequest
0 голосов
/ 01 июля 2018

Я пытаюсь создать программу на 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 я добавляю? Где мне их взять?

Спасибо!

1 Ответ

0 голосов
/ 01 июля 2018

когда я использую этот класс в своем методе main, какие объекты HttpServletRequest и HttpServletResponse я добавляю? Где мне их взять?

Вы не делаете. Вы не должны создавать основной метод! Вам необходимо развернуть свой сервлет в средстве запуска сервлетов, например Tomcat.

...