Thursday, February 20, 2014

Servlets: Getting the form parameters

Form parameters methods are defined in the interface ServletRequest .These are the main methods :

getParameter(String ) - Getting the parameter from the request object for the parameter name
getParameterMap() - Getting the name value map of the parameters
getParameterNames() - Returning enumeration of parameter names
getParameterValues(String) - Returns array of values for the parameter name

parameters.html :



<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
        <title>reqparameters</title>
    </head>
    <body>
        <form method="POST" action="getparameters">
            <table border="1" style="width: 80%;">
                <tr>
                    <td>First Name</td>
                    <td>
                        <input name="first" type="text"/>
                    </td>
                </tr>
                
                <tr>
                    <td>Last Name</td>
                    <td>
                        <input name="last" type="text"/>
                    </td>
                </tr>
                
                <tr>
                    <td>Login Name</td>
                    <td>
                        <input name="login" type="text"/>
                    </td>
                </tr>
                
                <tr>
                    <td>&nbsp;</td>
                    <td>
                        <input name="Submit" type="submit" value="SubmitPage"/>
                    </td>
                </tr>
            </table>
        </form>
    </body>
</html>

 The servlet :

package view;

import java.io.IOException;
import java.io.PrintWriter;

import java.util.Enumeration;

import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;

@WebServlet(name = "GetParameters", urlPatterns = { "/getparameters" })
public class GetParameters extends HttpServlet {
    private static final String CONTENT_TYPE = "text/html; charset=windows-1252";

    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head><title>GetParameters</title></head>");
        out.println("<body>");
        out.println("<p>The servlet has received a GET. This is the reply.</p>");
        Enumeration params = request.getParameterNames();
        while(params.hasMoreElements()) {
            String name =(String)params.nextElement();
            String value = request.getParameter(name);
            out.println(" Name = "+name+" : Value "+value);
        }
        System.out.println(" Request hash Map = "+request.getParameterMap());
        out.println("</body></html>");
        out.close();
    }

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



No comments: