Maven:部署一个带有响应JavaEE的HTML表单页面,用POST打印结果

Maven:部署一个带有响应JavaEE的HTML表单页面,用POST打印结果,java,html,maven,jakarta-ee,Java,Html,Maven,Jakarta Ee,我有一个HTML文件,它有一个表单: <head> </head> <body> <h1>Voter Registration Page</h1> <p>Please fill out all information below to register as a voter.</p> <form method = "post" action = "results"> First name: &

我有一个HTML文件,它有一个表单:

<head>

</head>

<body>
<h1>Voter Registration Page</h1>

<p>Please fill out all information below to register as a voter.</p>

<form method = "post" action = "results">
First name: <input type="text" name="firstname" id="firstname"><br>
Last name: <input type="text" name="lastname" id="lastname" ><br>
Address: <input type="text" id="address" name="address"><br>
City: <input type="text" id="city" name="city"><br>
State: <input type="text" id="state" name="state"><br>
Zip: <input type="text" id="zip"name="zip"><br>
Phone Number: <input type="text" id="phone" name="phone"><br><br>

Affiliation:<br>
<input type="radio" name="affil" value="Democrat">Democrat<br>
<input type="radio" name="affil" value="Green Party">Green Party<br>
<input type="radio" name="affil" value="Liberterian">Liberterian<br>
<input type="radio" name="affil" value="Republican">Republican<br>
<input type="radio" name="affil" value="Unafilliated">Unafiiliated<br>

<br>

<input type="submit" value="Submit">

</form>

</body>

</html>

选民登记页
请填写以下所有信息以登记为选民

名字:
姓氏:
地址:
城市:
状态:
邮政编码:
电话号码:

隶属关系:
民主党人
绿党
自由主义者
共和党人
无关联的

使用Maven和JAVA EE,当用户单击HTML表单上的Submit时,我尝试使用POST创建一个结果页面:

web.xml

  <servlet>
        <servlet-name>results</servlet-name>
        <servlet-class>controller.Response</servlet-class>
    </servlet>

<servlet-mapping>
 <servlet-name>results</servlet-name>
        <url-pattern>/results</url-pattern>
</servlet-mapping>

结果
控制器,响应
结果
/结果
当前Java代码:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Response extends HttpServlet{

    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws IOException{
    PrintWriter out = response.getWriter(); 
         out.println("<html>");
    out.println("<head><title>demolet</title></head>");
    out.println("<body>");
    out.println("<p>First Name:</p>"); 
out.println("<p>Last Name:</p>");
out.println("<p>Address:</p>");
out.println("<p>Phone:</p>");
out.println("<p>Afiiliation:</p>");
    out.println("</body></html>");
    out.close();


    }
}
import java.io.*;
导入javax.servlet.*;
导入javax.servlet.http.*;
公共类响应扩展了HttpServlet{
public void doPost(HttpServletRequest请求、HttpServletResponse响应)
抛出IOException{
PrintWriter out=response.getWriter();
out.println(“”);
out.println(“demolet”);
out.println(“”);
out.println(“名字:

”); out.println(“姓氏:

”); out.println(“地址:

”); out.println(“电话:

”); out.println(“afiliation:

”); out.println(“”); out.close(); } }
然而,我面临的主要问题是:

1.我试图弄清楚如何将HTMl文件中回答的值传递给Java文件,以便它能够正确地编写一个包含结果的HTMl文件

2.我不熟悉Java servlet和xml,所以我觉得我的设置不正确

如果有人能为这两个问题中的任何一个提供帮助,那就太好了。谢谢


现在不要担心Maven部分,我知道如何使用命令行设置项目并查看结果和内容。

可以使用请求对象获取HTML表单数据:

Enumeration paramNames = request.getParameterNames(); 
while(paramNames.hasMoreElements()) {   
    System.out.println((String)paramNames.nextElement()); 
}
您需要从
request
参数中读取
字段值

public void doPost(HttpServletRequest request, HttpServletResponse response)
     throws IOException{
   PrintWriter out = response.getWriter(); 
   .......

   String firstname=request.getParameter("firstname");    

   out.println("<p>First Name:"+ firstname +"</p>"); 

    .......
}
public void doPost(HttpServletRequest请求,HttpServletResponse响应)
抛出IOException{
PrintWriter out=response.getWriter();
.......
String firstname=request.getParameter(“firstname”);
out.println(“名字:“+firstname+”

”); ....... }
作为GET/POST一部分提交的所有数据将成为
HttpServletRequest
对象的一部分。您可以使用相同的方法获取值。有关更多详细信息,请参阅

不在.java文件中编写HTML和不在.jsp文件中编写java也是一种很好的做法