Tuesday 8 April 2014

Servlets : Form Data Example - POST Method


Click here to watch in Youtube : https://www.youtube.com/watch?v=rPFrNU2Qftw

Click the below Image to Enlarge

ServletFormDataPOST Project Dir Structure

CustomerInfoServlet.java
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import java.util.Map;
import java.util.Set;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class CustomerInfoServlet extends HttpServlet
{

 private static final long serialVersionUID = 1L;

 public void init()
 {
  System.out
          .println("-----------------------------------------------------");
  System.out
          .println("init method has been called and servlet is initialized");
  System.out
          .println("-----------------------------------------------------");
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
         throws ServletException, IOException
 {

  response.setContentType("text/html");

  PrintWriter out = response.getWriter();

  out.println("Read data using  '<b>String getParameter(String name)</b>' method");

  String docType = "<!doctype html public \"-//w3c//dtd html 4.0 "
          + "transitional//en\">\n";
  out.println(docType + "<html>\n" + "<head><title>" + "GET"
          + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n"
          + "<ul>\n" + "  <li><b>First Name</b>: "
          + request.getParameter("first_name") + "\n"
          + "  <li><b>Last Name</b>: "
          + request.getParameter("last_name") + "\n" + "</ul>\n"
          + "</body></html>");

  out.println("\nRead data using '<b>Enumeration getParameterNames()</b>' method \n");

  Enumeration<String> paramNames = request.getParameterNames();

  out.println("<ul>");

  while (paramNames.hasMoreElements())
  {

   String paramName = paramNames.nextElement();
   out.print(" <li><b>" + paramName + ":</b>");
   String paramValue = request.getParameter(paramName);
   out.println(paramValue + "</li>");

  }

  out.println("</ul>");

  out.println("\nRead data using '<b>Map getParameterMap()</b>' method\n");

  Map<String, String[]> paramMap = request.getParameterMap();

  Set<String> paramNamesSet = paramMap.keySet();

  out.println("<ul>");
  for (String paramName : paramNamesSet)
  {
   out.print(" <li><b>" + paramName + ":</b>");
   String[] paramValue = paramMap.get(paramName);
   for (int i = 0; i < paramValue.length; i++)
   {
    out.println(paramValue[i] + "</li>");
   }

  }
  out.println("</ul>");
 }

 public void destroy()
 {
  System.out
          .println("-----------------------------------------------------");
  System.out
          .println("destroy method has been called and servlet is destroyed");
  System.out
          .println("-----------------------------------------------------");
 }
}

web.xml   
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" metadata-complete="true" version="3.0">
  <display-name>ServletForm POST</display-name>
  <description>
        This is a simple web application with a source code organization
        based on the recommendations of the Application Developer's Guide.
    </description>
  <servlet>
    <servlet-name>CustomerInfoForm</servlet-name>
    <servlet-class>CustomerInfoServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>CustomerInfoForm</servlet-name>
    <url-pattern>/CustomerInfoForm</url-pattern>
  </servlet-mapping>
</web-app>

index.html

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<!DOCTYPE HTML><html lang="en"><head>
<meta charset="UTF-8">
<title>ServletForm POST</title>
</head>
<body>
<p>
<h3>ServletForm POST</H3>
<p></p>
<ul>
 <li><a href="customerform.html">Customer Form</a></li>
</ul>
</body></html>

customerform.html
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<html>
<body>
 <form action="CustomerInfoForm" method="POST">
 
 First Name: <input type="text" name="first_name">
 <br />
 
 Last Name: <input type="text" name="last_name" />
 
 <input type="submit" value="Submit" />
 
 </form>
</body>
</html>

Environment Used 

JDK version :1.6.0_30
Tomcat version : 7.0.50 

To Download ServletFormDataPOSTApp Project Click the below link

https://sites.google.com/site/javaee4321/servlets/ServletFormDataPOSTApp.zip?attredirects=0&d=1

See also:

  • Servlets Tutorial
  • All Design Patterns Links
  • 1 comment:

    1. Thanks for the great tutorial! The web-sniffer-dot-net site is down for years. Use instead https://websniffer.cc/ It works similarly.

      ReplyDelete