This example uses an HTML form to create a POST request containing the user’s name, and then shows a list of all of the entered names.
index.html contains an HTML form:
<!DOCTYPE html>
<html>
<head>
<title>Name Form</title>
</head>
<body>
<h1>What's your name?</h1>
<form action="/post-name-list/names" method="POST">
<input type="text" name="name" value="Ada">
<br><br>
<input type="submit" value="Submit">
</form>
<hr>
<p>Click <a href="/post-name-list/names">here</a> to see everybody's name.</p>
</body>
</html>
NamesServlet.java handles the POST
request by outputting the user’s name to the response. You can also navigate to /names
to see a list of all of the entered names.
package io.happycoding.servlets;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@WebServlet("/names")
public class NamesServlet extends HttpServlet {
List<String> names = new ArrayList<>();
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
response.getWriter().println("<h1>Names</h1>");
response.getWriter().println("<ul>");
for (String name : names) {
response.getWriter().println("<li>" + name + "</li>");
}
response.getWriter().println("</ul>");
response.getWriter().println(
"Click <a href=\"/post-name-list/index.html\">here</a> to enter another name.");
}
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException {
String name = request.getParameter("name");
names.add(name);
response.getWriter().println("<h1>Hello " + name + "!</h1>");
response.getWriter().println(
"Click <a href=\"/post-name-list/names\">here</a> to see everybody's name.");
}
}
Use POST requests to show a list of names.
Happy Coding is a community of folks just like you learning about coding.
Do you have a comment or question? Post it here!
Comments are powered by the Happy Coding forum. This page has a corresponding forum post, and replies to that post show up as comments here. Click the button above to go to the forum to post a comment!