Free servlet jsp tutorials
This servlet tutorial will teach you how to handle and process HTML form with Servlet. You will learn following things
Copy following code into form.jsp file under /pages directory.
<%@ page contentType="text/html; charset=ISO-8859-1"%> <html> <head> <title>A simple form processing Servlet example</title> </head> <body> <h3>User registration example</h3> <form action="formServlet" method="post"> <table> <tr> <td>User Name</td> <td><input type="text" name="username"></td> </tr> <tr> <td>Password</td> <td><input type="password" name="password"></td> </tr> <tr> <td>Bio</td> <td><textarea rows="5" cols="50" name="bio"></textarea> </td> </tr> <tr> <td>Country</td> <td> <select name="country"> <option value="ind">India</option> <option value="usa">America</option> <option value="ca">Canada</option> <option value="aus">Australia</option> </select> </td> </tr> <tr> <td>Subscribe for newsletter</td> <td> <label for="newsletter1">Yes</label> <input type="radio" id="newsletter1" name="newsletter" value="Yes" checked="checked"> <label for="newsletter2">No</label> <input type="radio" id="newsletter2"name="newsletter" value="No"> </td> </tr> <tr> <td>Preferences</td> <td> <label for="preference1">Receive mail from members</label> <input type="checkbox" id="preference1" name="receivemail" value="yes" checked="checked"><br/> <label for="preference2">Receive notifications</label> <input type="checkbox" id="preference2" name="receivenotification" value="yes"><br/> </td> </tr> <tr> <td> <input type="submit" value="Submit"> <input type="reset"> </td> <td></td> </table> </form> </body> </html>
Copy following code into FormServlet.java, compile the class and put it under WEB-INF/classes directory
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class FormServlet extends HttpServlet { protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { getServletContext().getRequestDispatcher("/WEB-INF/pages/form.jsp").forward(req, resp); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String userName = request.getParameter("username"); String password = request.getParameter("password"); String bio = request.getParameter("bio"); String country = request.getParameter("country"); String subscribeForNewsletter = request.getParameter("newsletter"); String receiveMail = request.getParameter("receivemail"); String reveiveNotifications = request.getParameter("receivenotification"); response.setContentType("text/html"); PrintWriter writer = response.getWriter(); writer.write("<h2> You have entered following values </h2>"); writer.write("<br/>"); writer.write("<table>"); startTableRow(writer); addTableColumn(writer, "username"); addTableColumn(writer, userName); closeTableRow(writer); startTableRow(writer); addTableColumn(writer, "password"); addTableColumn(writer, password); closeTableRow(writer); startTableRow(writer); addTableColumn(writer, "Bio"); addTableColumn(writer, bio); closeTableRow(writer); startTableRow(writer); addTableColumn(writer, "Country"); addTableColumn(writer, country); closeTableRow(writer); startTableRow(writer); addTableColumn(writer, "Subscribe for news letter"); addTableColumn(writer, subscribeForNewsletter); closeTableRow(writer); startTableRow(writer); addTableColumn(writer, "Receive mail from members"); addTableColumn(writer, receiveMail); closeTableRow(writer); startTableRow(writer); addTableColumn(writer, "Receive notification"); addTableColumn(writer, reveiveNotifications); closeTableRow(writer); writer.write("</table>"); writer.close(); } private static void startTableRow(PrintWriter writer) { writer.write("<tr>"); } private static void closeTableRow(PrintWriter writer) { writer.write("</tr>"); } private static void addTableColumn(PrintWriter writer, String value) { writer.write("<td> "+ value + "</td>"); } }
A servlet must be defined into web.xml deployment descriptor. Copy the following code into web.xml file and save it under WEB-INF directory.
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd"> <web-app> <servlet> <servlet-name>formServlet</servlet-name> <servlet-class>FormServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>formServlet</servlet-name> <url-pattern>formServlet</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>/formServlet</welcome-file> </welcome-file-list> </web-app>
You just need to create war file of our web application and copy it to webapp directory under your tomcat installation to deploy application to tomcat.
Open command prompt and go to root directory of our application (FormExample). Create a war file using following command.
jar -cvf formexample.war *
It will create formexample.war file under FormExample directory. Copy the war file to webapp directory under tomcat installation.
That’s it, now you are ready to start the tomcat server and see example in action.