Click to See Complete Forum and Search --> : New page in servlets


daina
01-30-2006, 07:11 AM
Hi

I have a servlet page. In that I have 2 fields like userName & userId.
There is a submit button .When I press the submit button I should get a new Page with the entered details.Can any one tell me how to open new page & pass parameter to it . The first page is like this.

<code>
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class FirstPage extends HttpServlet {

protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
{
res.setContentType("text/html");
ServletOutputStream out = res.getOutputStream();
//out.print(this.getDetails());
out.println("<html><head><title>First page Form</title></head>");
out.println("<body bgcolor =cccccc>");
out.println("<form action = method = Post >");
out.println("<center><h3><b>First page Form</b></h3><br><br><br>");
out.println("<table border = 2>");
out.println("<tr><td><b>User Name :</b></td><td><input type = text name = UserName></td></tr><tr><td>");
out.println("<b>User Id :</b></td><td><input type = text name = UserId></td></tr>");
out.println<tr><td></td><td>");
out.println("<input type = submit value = Submit>");
out.println("<input type = Reset value = Clear></tr></td>");
out.println("<tr><td></table></center>");
out.println("</form></body></html>");
String l_userName = req.getParameter("UserName");

System.out.println("l_userName " + l_userName);

//out.close();
}


public String getServletInfo()
{
return "A Servlet";
}

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

</code>

But how to know when button is pressed & it should open a new page & display all the values.

BigDog
01-30-2006, 01:46 PM
For something like this you should really be using a JSP instead of a servlet.

In the JSP you would just write plain old HTML and use a form. Have that form point to you second page (or a servlet if you are doign processing, although it looks like you are just learning). In that other JSP you could just do a request.getAttribute(param_name) where param_name is the name of the form value form the previous page. So to print it out to the screen would be something like the following for your example:

out.println(request.getAttribute("UserName"));


In a JSP the "out" and "request" object will automatically be given to you, you would not need to do any kind of import statement. JSPs were invented as a way to avoid writing HTML code in your servlets as you have in your example.

yaqzhanah
01-31-2006, 09:16 PM
out.println("<form action =\"Your URL destination\" method = Post >");

Please assign your URL destination...

daina
01-31-2006, 09:51 PM
Hi

Thanks. It worked...