servlet not submitting

[nobr]hello. i have two servlet java files. one whcih contains the form(ServletChecker) and in this file i am passing the data to another servlet(ServletExample).

My problem is when i click the submit button it stays on the same page. any idea?

ServletChecker.java

package examples;

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

import java.util.*;

publicclass ServletCheckerextends HttpServlet{

publicvoid service(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException{

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("<html>");

out.println("<head>");

out.println("<title>Student first name </title>");

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

out.println("<body>");

out.println("<br>Please enter your firstname and lastname.");

out.println("<br><form method = post>");

out.println("<br>firstName: <input type = text name = firstName>");

out.println("<br>lastName: <input type = text name = lastName>");

out.println("<br><input type = submit value = submit>");

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

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

}

publicvoid doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException

{

doPost(request, response);

}

publicvoid doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException{

RequestDispatcher rd = request.getRequestDispatcher("ServletPostExample");

rd.forward(request, response);

}

}

/code]

ServletPostExample.java

[code]

package examples;

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

import java.util.*;

publicclass ServletPostExampleextends GenericServletimplements Servlet{

publicvoid service(ServletRequest request, ServletResponse response)throws

ServletException, IOException

{

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("<html>");

out.println("<head>");

out.println("<title>Display user name </title>");

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

out.println("<body>");

out.println("<b>Demonstrating some of the methods</b>");

out.println("<br>");

out.println("<br>Server port : " + request.getServerPort());

out.println("<br>Server name : " + request.getServerName());

out.println("<br>Protocol : " + request.getProtocol());

out.println("<br>Character encoding : " + request.getCharacterEncoding());

out.println("<br>Remote Host : " + request.getRemoteHost());

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

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

}

publicvoid doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException{

PrintWriter out = response.getWriter();

String firstName = request.getParameter("firstName");

String lastName = request.getParameter("lastName");

out.println("Your firstname is " + firstName);

out.println("your lastname is " + lastName);

}

}

Any ideas?[/nobr]

[5746 byte] By [lrngjavaa] at [2007-11-27 1:32:28]
# 1
Don't override the service() method! Put the code in this method into doGet() and see if that works how you expect it to.
bckrispia at 2007-7-12 0:37:00 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 2

[nobr]package examples;

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

import java.util.*;

public class ServletChecker extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException

{

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("<html>");

out.println("<head>");

out.println("<title>Student first name </title>");

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

out.println("<body>");

out.println("<br>Please enter your firstname and lastname.");

out.println("<br><form method = post>");

out.println("<br>firstName: <input type = text name = firstName>");

out.println("<br>lastName: <input type = text name = lastName>");

out.println("<br><input type = submit value = submit>");

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

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

doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

RequestDispatcher rd = request.getRequestDispatcher("ServletPostExample");

rd.forward(request, response);

}

}

No. still the same. i think something is wrong with my dispatcher it is not forwarding the submit button to my other servlet. any ideas?

RequestDispatcher rd = request.getRequestDispatcher("ServletPostExample");

rd.forward(request, response);

[/nobr]

lrngjavaa at 2007-7-12 0:37:00 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 3

<form method = post>

in your form tag you have not specified the url of the servlet to which the data should be send when the form is submitted

the form tag should look like

<form method ="post" action="the url to the servlet that process the posted data">

LRMKa at 2007-7-12 0:37:00 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 4
^ In which case, it should default to POSTing back to the original Servlet. Why are you even forwarding to a second servlet? Why not just handle the work in the doPost() method?
bckrispia at 2007-7-12 0:37:00 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...