import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.Enumeration;

public class FormServlet extends HttpServlet 
{
    
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
                
        out.println("<html>");
        out.println("<body>");
        out.println("<head>");
        out.println("<title>Form Examples</title>");
        out.println("</head>");
        out.println("<body>");

        String formType = request.getParameter("formtype");
        
        if(formType == null)
        {
            Enumeration e = request.getParameterNames();
            out.println("<h1>Parameter and Return Data from previous form</h1>");
            out.println("<br>");
            if(!e.hasMoreElements())
            {
                out.println("None");
            }
            while(e.hasMoreElements())
            {
                String name = (String)e.nextElement();
                out.println(name + ": " + request.getParameter(name));
                out.println("<br>");
            }
            out.println("<h1>Select the form to see an example and view html source:</h1>");
            out.println("<br>");
            out.println("<P>");

            out.print("<form action=\"");
            out.print("FormServlet\" ");
            out.println("method=GET>");
            
            out.println("<input type=radio name=formtype value=textform>");
            out.println("Text Form");
            out.println("<br>");
            out.println("<input type=radio name=formtype value=passwordform>");
            out.println("Password Form");
            out.println("<br>");
            out.println("<input type=radio name=formtype value=checkboxform>");
            out.println("Checkbox Form");
            out.println("<br>");
            out.println("<input type=radio name=formtype value=radioform>");
            out.println("RadioForm");
            out.println("<br>");
            out.println("<input type=radio name=formtype value=resetform>");
            out.println("Reset Form");
            out.println("<br>");
            out.println("<input type=radio name=formtype value=selectionform>");
            out.println("Selection Form");
            out.println("<br>");
            out.println("<input type=radio name=formtype value=textareaform>");
            out.println("Text Area Form");
            out.println("<br>");
            out.println("<input type=submit>");
        }
        else if(formType.equals("textform"))
        {
            out.println("<h1>Text Form</h1>");
            out.println("<br>");
            out.println("<P>");

            out.print("<form action=\"");
            out.print("FormServlet\" ");
            out.println("method=GET>");
            
            out.println("Text Field Label");
            out.println("<input type=text name=textfield value=default>");
            out.println("<br>");
            out.println("<input type=submit>");
            out.println("<br>");
            out.println("<br>");

            out.println("&lt;P>");
            out.println("<br>");

            out.print("&lt;form action=\"");
            out.print("ServletName\" ");
            out.println("method=GET>");
            out.println("<br>");
            
            out.println("Text Field Label");
            out.println("<br>");
            out.println("&lt;input type=text name=textfield value=default>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;input type=submit>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;/form>");
        }
        else if(formType.equals("passwordform"))
        {
            out.println("<h1>Password Form</h1>");
            out.println("<br>");
            out.println("<P>");

            out.print("<form action=\"");
            out.print("FormServlet\" ");
            out.println("method=GET>");
            
            out.println("Password Field Label");
            out.println("<input type=password name=passwordfield value=default>");
            out.println("<br>");
            out.println("<input type=submit>");
            out.println("<br>");
            out.println("<br>");

            out.println("&lt;P>");
            out.println("<br>");

            out.print("&lt;form action=\"");
            out.print("ServletName\" ");
            out.println("method=GET>");
            out.println("<br>");
            
            out.println("Password Field Label");
            out.println("<br>");
            out.println("&lt;input type=password name=passwordfield value=default>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;input type=submit>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;/form>");
        }
        else if(formType.equals("checkboxform"))
        {
            out.println("<h1>Checkbox Form</h1>");
            out.println("<br>");
            out.println("<P>");

            out.print("<form action=\"");
            out.print("FormServlet\" ");
            out.println("method=GET>");
            
            out.println("<input type=checkbox name=checkboxfield value=default>");
            out.println("Checkbox Field Label");
            out.println("<br>");
            out.println("<input type=submit>");
            out.println("<br>");
            out.println("<br>");

            out.println("&lt;P>");
            out.println("<br>");

            out.print("&lt;form action=\"");
            out.print("ServletName\" ");
            out.println("method=GET>");
            out.println("<br>");
            
            out.println("&lt;input type=checkbox name=checkboxfield value=default>");
            out.println("<br>");
            out.println("Checkbox Field Label");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;input type=submit>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;/form>");
        }
        else if(formType.equals("radioform"))
        {
            out.println("<h1>Radio Form</h1>");
            out.println("<br>");
            out.println("<P>");

            out.print("<form action=\"");
            out.print("FormServlet\" ");
            out.println("method=GET>");
            
            out.println("<input type=radio name=radiofield value=option1>");
            out.println("Radio Field Label1");
            out.println("<br>");
            out.println("<input type=radio name=radiofield value=option2>");
            out.println("Radio Field Label2");
            out.println("<br>");
            out.println("<input type=radio name=radiofield value=option3>");
            out.println("Radio Field Label3");
            out.println("<br>");
            out.println("<input type=submit>");
            out.println("<br>");
            out.println("<br>");

            out.println("&lt;P>");
            out.println("<br>");

            out.print("&lt;form action=\"");
            out.print("ServletName\" ");
            out.println("method=GET>");
            out.println("<br>");
            
            out.println("&lt;input type=radio name=radiofield value=option1>");
            out.println("<br>");
            out.println("Radio Field Label1");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;input type=radio name=radiofield value=option2>");
            out.println("<br>");
            out.println("Radio Field Label2");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;input type=radio name=radiofield value=option3>");
            out.println("<br>");
            out.println("Radio Field Label3");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;input type=submit>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;/form>");
        }
        else if(formType.equals("resetform"))
        {
            out.println("<h1>Reset Form</h1>");
            out.println("<br>");
            out.println("<P>");

            out.print("<form action=\"");
            out.print("FormServlet\" ");
            out.println("method=GET>");
            
            out.println("Text Field Label");
            out.println("<input type=text name=textfield value=default>");
            out.println("<br>");
            out.println("<input type=submit>");
            out.println("<input type=reset>");
            out.println("<br>");
            out.println("<br>");

            out.println("&lt;P>");
            out.println("<br>");

            out.print("&lt;form action=\"");
            out.print("ServletName\" ");
            out.println("method=GET>");
            out.println("<br>");
            
            out.println("Text Field Label");
            out.println("<br>");
            out.println("&lt;input type=text name=textfield value=default>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;input type=submit>");
            out.println("<br>");
            out.println("&lt;input type=reset>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;/form>");
        }
        else if(formType.equals("selectionform"))
        {
            out.println("<h1>Selection Form</h1>");
            out.println("<br>");
            out.println("<P>");

            out.print("<form action=\"");
            out.print("FormServlet\" ");
            out.println("method=GET>");
            
            out.println("<select name=\"listname\">");
            out.println("<option>first option");
            out.println("<option>second option");
            out.println("<option>third option");
            out.println("</select>");
            out.println("<br>");
            out.println("<input type=submit>");
            out.println("<br>");
            out.println("<br>");

            out.println("&lt;P>");
            out.println("<br>");

            out.print("&lt;form action=\"");
            out.print("ServletName\" ");
            out.println("method=GET>");
            out.println("<br>");
            
            out.println("&lt;select name=\"listname\">");
            out.println("<br>");
            out.println("&lt;option>first option");
            out.println("<br>");
            out.println("&lt;option>second option");
            out.println("<br>");
            out.println("&lt;option>third option");
            out.println("<br>");
            out.println("&lt;/select>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;input type=submit>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;/form>");
        }
        else if(formType.equals("textareaform"))
        {
            out.println("<h1>Textarea Form</h1>");
            out.println("<br>");
            out.println("<P>");

            out.print("<form action=\"");
            out.print("FormServlet\" ");
            out.println("method=GET>");
            
            out.println("<textarea name=\"text area name\" rows=5 cols=80>Default text goes here");
            out.println("</textarea>");
            out.println("<br>");
            out.println("<input type=submit>");
            out.println("<br>");
            out.println("<br>");

            out.println("&lt;P>");
            out.println("<br>");

            out.print("&lt;form action=\"");
            out.print("ServletName\" ");
            out.println("method=GET>");
            out.println("<br>");
            
            out.println("&lt;textarea name=\"text area name\" rows=5 cols=80>Default text goes here");
            out.println("<br>");
            out.println("&lt;/textarea>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;input type=submit>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;br>");
            out.println("<br>");
            out.println("&lt;/form>");
        }
           
        out.println("</form>");
        out.println("</body>");
        out.println("</html>");
    }

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

}