To create a form in HTML we need to use the following tags:<form name="loginForm" method="post" action="loginServlet"> Username: <input type="text" name="username"/> <br/> Password: <input type="password" name="password"/> <br/> <input type="submit" value="Login" /> </form>This form would look like this in browser:
On the server side, we need to create a Java servlet which is mapped to the URL: loginServlet, as specified in the form’s action attribute. Following is code of the servlet:@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// code to process the form...
}
}String username = request.getParameter("username");
String password = request.getParameter("password");To send response back to the client, we need to obtain a writer from the response object by calling the method getWriter() of the HttpServletResponse interface:PrintWriter writer = response.getWriter();Then use the print() or println() method to deliver the response (in form of HTML code). For example:
String htmlRespone = "<html>"; htmlRespone += "<h2>Your username is: " + username + "</h2>"; htmlRespone += "</html>"; writer.println(htmlRespone);Here’s complete code of the servlet class to process the login form:
package net.codejava.servlet;
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("/loginServlet")
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// read form fields
String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println("username: " + username);
System.out.println("password: " + password);
// do some processing here...
// get response writer
PrintWriter writer = response.getWriter();
// build HTML code
String htmlRespone = "<html>";
htmlRespone += "<h2>Your username is: " + username + "<br/>";
htmlRespone += "Your password is: " + password + "</h2>";
htmlRespone += "</html>";
// return response
writer.println(htmlRespone);
}
}Here’s an example output when submitting the above login form in browser:
So far you have got the ins and outs when handling HTML form data with Java servlet. For your reference, we provide a list of examples for handling common HTML form fields as below. Note that we use the System.out.println() statement in servlet to demo the output. Username: <input type="text" name="username"/> Password: <input type="password" name="password"/>

String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println("username is: " + username);
System.out.println("password is: " + password); username is: admin password is: nimda
Speaking language: <input type="checkbox" name="language" value="english" />English <input type="checkbox" name="language" value="french" />French
String languages[] = request.getParameterValues("language");
if (languages != null) {
System.out.println("Languages are: ");
for (String lang : languages) {
System.out.println("\t" + lang);
}
} Languages are: english french
Java Servlet, JSP and Hibernate: Build eCommerce Website
Code Functional Bookshop Website with Java Servlet and Hibernate framework. Full-stack Development. Job-ready Skills.
Gender: <input type="radio" name="gender" value="male" />Male <input type="radio" name="gender" value="female" />Female
String gender = request.getParameter("gender");
System.out.println("Gender is: " + gender); Gender is: male
Feedback:<br/> <textarea rows="5" cols="30" name="feedback"></textarea>

String feedback = request.getParameter("feedback");
System.out.println("Feed back is: " + feedback); Feed back is: This tutorial is very helpful. Thanks a lot!
Job Category: <select name="jobCat"> <option value="tech">Technology</option> <option value="admin">Administration</option> <option value="biology">Biology</option> <option value="science">Science</option> </select>

String jobCategory = request.getParameter("jobCat");
System.out.println("Job category is: " + jobCategory); Job category is: science
<form method="post" action="uploadServlet" enctype="multipart/form-data"> Select file to upload: <input type="file" name="uploadFile" /> <input type="submit" value="Upload" /> </form>For handling file upload on the server side with Java servlet, we recommend these tutorials:
Nam Ha Minh is certified Java programmer (SCJP and SCWCD). He began programming with Java back in the days of Java 1.4 and has been passionate about it ever since. You can connect with him on Facebook and watch his Java videos on YouTube.