【问题标题】:How to access HTML response variables in Java code如何在 Java 代码中访问 HTML 响应变量
【发布时间】: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 页面并确保您可以加载它。那你就知道路径是正确的了。

标签: java html servlets


【解决方案1】:

当我在我的 main 方法中使用这个类时,我放入了哪些 HttpServletRequest 和 HttpServletResponse 对象?我从哪里得到这些?

你没有。您不应该创建 main 方法!您需要将 servlet 部署在 servlet 运行程序中,例如 Tomcat。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-26
    • 1970-01-01
    相关资源
    最近更新 更多