SE452: Request Parameters [6/20] ![]() ![]() ![]() |
A servlet can access the data that is in the form via Request Parameters
String getParameter(String name)
Example (a login Servlet):
package se452.forms; import java.util.HashMap; import java.util.Map; import javax.servlet.*; import javax.servlet.http.*; /** * * @author Matthew Wright * @version */ public class LoginServlet extends HttpServlet { protected Map users = new HashMap(); /** * Initializes the servlet with some usernames/password */ public void init() { users.put("mwright", "123abc"); users.put("ltorvalds", "linux"); users.put("test", "TEST"); } /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request * @param response servlet response */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { String userid = request.getParameter("userid"); String password = request.getParameter("password"); if(userid != null && userid.length() != 0) { userid = userid.trim(); } if(password != null && password.length() != 0) { password = password.trim(); } if(userid != null && password != null) { String realpassword = (String)users.get(userid); if(realpassword != null && realpassword.equals(password)) { showPage(response, "Login Success!"); } else { showPage(response, "Login Failure! Username or password is incorrect"); } } else { showPage(response, "Login Failure! You must supply a username and password"); } } /** * Actually shows the <code>HTML</code> result page */ protected void showPage(HttpServletResponse response, String message) throws ServletException, java.io.IOException { response.setContentType("text/html"); java.io.PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>Login Servlet Result</title>"); out.println("</head>"); out.println("<body>"); out.println("<h2>" + message + "</h2>"); out.println("</body>"); out.println("</html>"); out.close(); } /** Handles the HTTP <code>GET</code> method. * @param request servlet request * @param response servlet response */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { processRequest(request, response); } /** Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { processRequest(request, response); } }