954,574 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

how to pass the parameters of jsp from one servlet to another servlet

Hi i created one jsp form with 2 fields..now in the first servlet i want check whether those 2 fields values are presented in the Database or not..if not then i want move those values to another servlet .. how can i do this?how to get the values (parameter values of jsp in second servlet.. .ie; in first servlet those values will be comapred with database and bcoz of send redirect in else the values will be stored if they not present in DB here is my code plz check it once..
1st Servlet..
_____________

package com;
import java.io.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class SearchServlet extends HttpServlet
{

 private ServletConfig config;
  
  public void init(ServletConfig config)
    throws ServletException{
     this.config=config;
     }
  public void service(HttpServletRequest request, HttpServletResponse response) 
              throws ServletException,IOException{
      
    PrintWriter out = response.getWriter();
    String connectionURL = "jdbc:mysql://localhost/test";
    Connection connection=null;
    ResultSet rs;
  
    String mobileno=request.getParameter("mno");
    String password=request.getParameter("pwd");
    response.setContentType("text/html");
    HttpSession ses=request.getSession(true);
    
    try {
       // Load the database driver
      Class.forName("com.mysql.jdbc.Driver");
      // Get a Connection to the database
      connection = DriverManager.getConnection(connectionURL, "root", "password"); 
      //Add the data into the database
      String sql = "select mobileno,password from newuser where mobileno='"+ mobileno + "'and password='"+ password + "' " ;

   
      Statement s = connection.createStatement();
       rs=s.executeQuery (sql);
       rs = s.getResultSet();
     
      
     if(rs.next ())
     {
        mobileno=rs.getString("mobileno");
        password=rs.getString("password");
        out.println("MOBILENO=" +mobileno );
        out.println("PASSWORD=" +password );
    

         if(mobileno.equals(request.getParameter("mno")) && password.equals(request.getParameter("pwd")))
            {
       
          out.print("<h1>You are Already Registerd </h1>");
            }
         }

          else   
             {
                   request.setAttribute("MOBILENO",mobileno);
                   request.setAttribute("PASSWORD",password);
        RequestDispatcher dispatcher = 
             getServletConfig ( ) .getServletContext ().getRequestDispatcher("/LoginServlet");         
         dispatcher.forward (request, response) ; 

              }
         rs.close ();
        s.close ();

           

}
     catch(Exception e)
     {
      System.out.println("Exception is ;"+e);
      }

  
   } 

  }


2nd servlet
------------------

package com;
import java.io.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class LoginServlet extends HttpServlet{

  private ServletConfig config;
  
  public void init(ServletConfig config)
    throws ServletException{
     this.config=config;
     }
  public void doGet(HttpServletRequest request, HttpServletResponse response) 
              throws ServletException,IOException{
      
    PrintWriter out = response.getWriter();
    String connectionURL = "jdbc:mysql://localhost/test";
    Connection connection=null;
      String mno=null;
      String pwd=null;
     String mobileno = (String)request.getAttribute(MOBILENO); 
     String password = request.getAttribute(PASSWORD); 

    response.setContentType("text/html");
    try {
       // Load the database driver
      Class.forName("com.mysql.jdbc.Driver");
      // Get a Connection to the database
      connection = DriverManager.getConnection(connectionURL, "root", "password"); 
      //Add the data into the database
      String sql = "insert into  newuser values(" + mobileno  + ",'" + password  + "')";
      Statement s = connection.createStatement();
              
        HttpSession ses=request.getSession();
          int x = s.executeUpdate(sql);
        if(x==1)
        {
                out.println("<h1> Thanks For the Registration</h1>"); 
        out.println("<h1> Welcome to 3P Technologies</h1></br>"); 
        }
        else{
       out.println("<h1>+Your Registration is failed..Plase try again+</h1>");  
      out.println("<a href='newregister.jsp'>Register Here!!</a>");     
         } 
     s.close();
  
      }
      catch(Exception e){
      System.out.println("Exception is ;"+e);
      }
    }  
}
mahaboob Basha
Light Poster
28 posts since Nov 2008
Reputation Points: 10
Solved Threads: 0
 

So where are you encountering a problem ??
We are not Psychics to know what output you are getting on your computer screen.

Tell us the problem in clear words and we will see what is going wrong.

Also in the first servlet:-

if(rs.next()) {
        mobileno=rs.getString("mobileno");
        password=rs.getString("password");

why do you simply want to get the mobile no. and password from the database when you know that the mobile no. and password that you have is correct (cause it has already been validated by your SQL query).

stephen84s
Nearly a Posting Virtuoso
1,443 posts since Jul 2007
Reputation Points: 668
Solved Threads: 154
 
Hi i created one jsp form with 2 fields..now in the first servlet i want check whether those 2 fields values are presented in the Database or not..if not then i want move those values to another servlet .. how can i do this?how to get the values (parameter values of jsp in second servlet.. .ie; in first servlet those values will be comapred with database and bcoz of send redirect in else the values will be stored if they not present in DB here is my code plz check it once..


The very reason that you require to pass user submitted data from one servlet to another reeks of bad design. Seldom would you require two servlets in a single application. Just create a single controller servlet which is responsible for routing requests to proper request handlers.

IMO, what you require are multiple request handlers instead of multiple servlets. Also, you entire business logic is placed in the servlet which is pretty bad. Create two classes called LoginController and SearchController which would be instantiated by the servlet or the request handler.

You are actually spitting out HTML in your servlet which was pretty cool a few years back, but now isn't. Use JSP along with JSTL for presentation purposes. The J2EE 5 guide is a free download. Read and be enlightened.

~s.o.s~
Failure as a human
Administrator
11,938 posts since Jun 2006
Reputation Points: 3,281
Solved Threads: 734
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You