Hi, I have a jsp page (test.jsp), two servlets (Servlet1 and Servlet2). In test.jsp, parameters are submitted using a form and test.jsp calls Servlet1's doPost method. Then, in Servlet1, I use response.sendRedirect("/Servlet2") or getServletContext.getRequestDispatcher("/Servlet2") to call the second servlet. My problems are: (1) Servlet1 always called the doGet method of Servlet2, I want Servlet1 to call the doPost method of Servlet2. (2) The parameters sent from test.jsp are not passed from Servlet1 to Servlet2. Can someone help?
Hi Mike, doGet() method is called by default when the form's method attribute is not explicitly set. You must use requestdispatcher.forward("/servlet")to call the next servlet in chain. Then the doPost() method will be invoked and request parameters will be available to the servlet. Regards, [ March 25, 2003: Message edited by: Lakshmi Dasari ]
to Lakshmi: I viewed j2ee api doc,but I cannt find you have posted method,"requestdispather.forward("/servlet")" In apis,requestdispather's method as follows: public void forward(ServletRequest request, ServletResponse response) throws ServletException, java.io.IOException would u like explain for me?
Thanks...qingwu<br />When I open my eyes,I see your pretty face.
Joined: Mar 03, 2003
hi wang , U r right. That was a syntax error. It should be as follows: getServletContext().getRequestDispatcher("/NextServlet").forward(request,response); Thanks for the correction Regards,