<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: