All pastes #916667 Raw Edit

Anonymous

public text v1 · immutable
#916667 ·published 2008-02-24 21:06 UTC
rendered paste body
import java.io.IOException;
import java.io.PrintWriter;
import java.util.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
import java.sql.SQLException;

public class Servlet1 extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
   
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{


response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();		
              
out.println("<html>");
out.println("<head><h2><b>Welcome to SIP's Registration Page</b></h2></head>");
out.println("<BODY BGCOLOR=#FFFFCC TEXT=#333333 LINK='#0000CC' VLINK=#FF6666>");
out.println("<h2 align=left>Registration Form</h2>");

out.println("<form method='post' action='http://localhost:8080/FirstRegistration/Servlet1'>");

out.println("<table border=0>");
out.println("<tr><td colspan=2 bgcolor='#003333'><font size=+3 color=#CCCCCC>");
out.println("<td colspan=1 bgcolor='#003333'><font size=+3 color=#CCCCCC>");
out.println("<b><u>Personal information</u></b></font></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td valign=top align=right><tt><b>UserName</b></td>");
out.println("<td valign=top><input type='text' name='userName' size='40'><br>");
out.println("<font size=2  color=#000099>enter your UserName</font>");
out.println("</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td valign=top align=right><tt><b>Password</b></td>");
out.println("<td valign=top><input type='text' name='password' size='40'><br>");
out.println("<font size=2  color=#000099>enter your Password</font>");
out.println("</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td valign=top align=right><tt><b>First Name</b></td>");
out.println("<td valign=top><input type='text' name='firstName' size='40'><br>");
out.println("<font size=2  color=#000099>enter your First Name</font>");
out.println("</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td valign=top align=right><tt><b>Last Name</b></td>");
out.println("<td valign=top><input type='text' name='lastName' size='40'><br>");
out.println("<font size=2  color=#000099>enter your Last Name</font>");
out.println("</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td valign=top align=right><tt><b>email</b></td>");
out.println("<td valign=top><input type='text' name='email' size='40'><br>");
out.println("<font size=2  color=#000099>enter your email</font>");
out.println("</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td valign=top align=right><tt><b>Address</b></td>");
out.println("<td valign=top><input type='text' name='address' size='60'><br>");
out.println("<font size=2  color=#000099>enter your Address(Road/Roadnumber/city/Postalcode)</font>");
out.println("</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td valign=top align=right><tt><b>Country</b></td>");
out.println("<td valign=top><input type='text' name='country' size='40'><br>");
out.println("<font size=2  color=#000099>enter the name of the country you live</font>");
out.println("</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td valign=top align=right><tt><b>Forward</b></td>");
out.println("<td valign=top><input type='text' name='forward' size='40'><br>");
out.println("<font size=2  color=#000099>enter the UserName of the person you want to be forwarded to</font>");
out.println("</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td valign=top align=right><tt><b>Blocking</b></td>");
out.println("<td valign=top><textarea name='blocking' rows='4' cols='30'></textarea><br>");
out.println("<font size=2  color=#000099>enter the name of the persons you wish to block (separated by semicolon)</font>");
out.println("</td>");
out.println("</tr>");
out.println("<tr>");

out.println("<tr>");
out.println("<td valign=top align=right><tt><b>Choice</b></td>");
out.println("<td valign=top>");
out.println("<input type='radio' name='choice' value='new_registration' checked>");
out.println("Make a new registration<br>");
out.println("<input type='radio' name='choice' value='update_infos'>");
out.println("Update my personal information - using my current UserName. Please type <u>all</u> your personal information except from forwarding " +
        "and blocking preferences. Those last are udated by choosing the specific radio button<br>");
out.println("<input type='radio' name='choice' value='update_blocking'>");
out.println("Update my blocking preferences (need to type only your UserName and password)<br>");
out.println("<input type='radio' name='choice' value='update_forwarding'>");
out.println("Update my forward preferences (need to type only your UserName and password)<br>");
out.println("<input type='radio' name='choice' value='my_account' checked>");
out.println("Check my account (need to type only your UserName and password)<br>");
out.println("<font size=2 color=#000099>");
out.println("</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td colspan=2 bgcolor='#003333'><font size=+3 color=#CCCCCC>");
out.println("<tr>");
out.println("<td valign=top align=right> </td>");
out.println("<td valign=top></td>");
out.println("<input type='submit' value='Send in My Report'>");
out.println("<input type='reset' value='Erase Report Form'>");
out.println("</td>");

out.println("</table>");
out.println("</form>");
out.println("</body>");
out.println("</html>");
out.close();
}  	
	
	
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html;charset=UTF-8");
int noError=1;
Connection C=null;
PrintWriter out = response.getWriter();
String choice=null; 
if(!(request.getParameter("choice")).equals("")){choice=request.getParameter("choice");}
out.println("<html>");
out.println("<head>");
out.println("<title>Registration/Update process</title>");
out.println("</head>");
out.println("<BODY BGCOLOR=#FFFFCC TEXT=#333333>");
out.println("<h2>Here are the results of your registration/update</h2><br><br>");


if(choice.equals("update_infos")){

 
    if ((request.getParameter("userName")==null)|(request.getParameter("password")==null)) { 
	noError=0;
	out.println("<h2>An error occured while processing your data. Please try again! </h2>");
        out.println("</body>");
        out.println("</html>");
        out.close();}
    else {
               
        try {
            Class.forName("com.mysql.jdbc.Driver");
			System.out.println("MySQL Driver Load Ok!");
		} catch (ClassNotFoundException e) {
			System.err.println(e);
		}

		try {
			String url1 = "jdbc:mysql://localhost/sip";
			C = DriverManager.getConnection (url1,"root","");
			System.out.println("MySQL Connection Ok!");
			
		} catch (SQLException e) {
			System.err.println(e);
		}
 	String userName=request.getParameter("userName");
 	String password=request.getParameter("password");
    String firstName=request.getParameter("firstName");
	String lastName=request.getParameter("lastName");
	String email=request.getParameter("email");
	String address=request.getParameter("address");
    String country=request.getParameter("country");
	String forward=request.getParameter("forward");
	String blocking=request.getParameter("blocking");
        
    ResultSet rs1=null;
    PreparedStatement ps9=null;
	String sql1  = "SELECT * FROM USERS WHERE UserName=?";
         try {
            ps9=C.prepareStatement(sql1);
            ps9.setString(1,userName);
        	rs1=ps9.executeQuery();
                
         }
		catch(Exception ex){
		   noError=0;
	       out.println("<h2>SQL Error 3</h2><br>");
	       out.println(ex.getMessage());
           out.println("</body>");
           out.println("</html>");
           out.close();
		}
        
          try {
           if(!rs1.next()){
                    
                        noError=0;
	                    out.println("<h2>SQL Error </h2><br>");
		                out.println("<h3>This UserName you've given does not exist. Please try another.</h3>");
                        try {
                        C.close();
                        } catch (SQLException exit) {
                        exit.printStackTrace();
                        }
                        out.println("</body>");
                        out.println("</html>");
                        out.close();
                    
                    
                    
                    }
         else{
           rs1.close();    
           ResultSet rs=null;
      	   PreparedStatement ps6=null;
	       String sql  = "SELECT * FROM USERS WHERE password=?";
                     try {
                            ps6=C.prepareStatement(sql);
                            ps6.setString(1,password);
                        	rs=ps6.executeQuery();
                              
                     }
		catch(Exception ex){
		   noError=0;
	       out.println("<h2>SQL Error 3</h2><br>");
		   out.println(ex.getMessage());
           out.println("</body>");
           out.println("</html>");
           out.close();
		}
                            try {
                                 
                              if(rs.next()){
                                   String onoma=rs.getString("UserName");
                                   String pass=rs.getString("Password");
                                   if(!((onoma.equals(userName))&&pass.equals(password))){
                                   noError=0;
	               out.println("<h2>SQL Error 4</h2><br>");
		       out.println("<h3>This password belongs to another user. Please try another.</h3>");
                                        try {
                                                      C.close();
                                                  } catch (SQLException exit) {
                                                      exit.printStackTrace();
                                                  }
                                           out.println("</body>");
                                           out.println("</html>");
                                            out.close();}
                              }
                     else{
                    rs.close();
	//Create the needed parameters for the Sql statement
 	String sql2;
 	PreparedStatement ps1=null;
    PreparedStatement ps2=null;
	sql2  = "UPDATE USERS set Password= ?, FirstName=?, LastName=?, Email=?, Address=?, Country=? WHERE UserName=?";
    try {
                                        
        ps1=C.prepareStatement(sql2);  
        ps1.setString(1,password);
		ps1.setString(2,firstName);
		ps1.setString(3,lastName);
		ps1.setString(4,email);
		ps1.setString(5,address);
		ps1.setString(6,country);
		ps1.setString(7,userName);
  		ps1.executeUpdate();}
     catch(Exception ex){
		  noError=0;
	      out.println("<h2>SQL Error</h2><br>");
		  out.println(ex.getMessage());
     try {
          C.close();
     } catch (SQLException exit) {
     exit.printStackTrace();
     }
     out.println("</body>");
     out.println("</html>");
     out.close();}
     try {
          C.close();
     } catch (SQLException ex) {
     ex.printStackTrace();
     }

 	//if(!forward.equals("")){
                                       //////Idia diadikasia opws kai parakatw/////////////////
                                      ///////O xrhsths an thelei na kanei update sto forwarding prepei na epileksei to radio button///
                                    
       //     }
       
       // if (!blocking.equals("")){
                                         //////Idia diadikasia opws kai parakatw/////////////////
                                         ///////O xrhsths an thelei na kanei update sto blocking prepei na epileksei to radio button///
                                // }
       
  }
                            } catch (SQLException ex) {
                                ex.printStackTrace();
                            }
}
                } catch (SQLException ex) {
                    ex.printStackTrace();
                }
    }
}

else if(choice.equals("update_blocking")) {

if ((request.getParameter("userName")==null)|(request.getParameter("password")==null)){ 
	noError=0;
	out.println("<h2>An error occured while processing your data. Please try again! </h2>");
        out.println("</body>");
        out.println("</html>");
        out.close();}
 else {
  String userName=request.getParameter("userName");
  String password=request.getParameter("password");
  String blocking=request.getParameter("blocking");

   try {
			Class.forName("com.mysql.jdbc.Driver");
			System.out.println("MySQL Driver Load Ok!");
		} catch (ClassNotFoundException e) {
			System.err.println(e);
		}

		try {
			
			String url1 = "jdbc:mysql://localhost/sip";
			C = DriverManager.getConnection (url1,"root","");
			System.out.println("MySQL Connection Ok!");
			
		} catch (SQLException e) {
			System.err.println(e);
		}
  
     
       ResultSet rs = null;
       PreparedStatement ps3=null;
       String sql  = "SELECT * FROM USERS WHERE UserName=? and Password=?";
             try {
                                
           ps3=C.prepareStatement(sql);
           ps3.setString(1,userName);
           ps3.setString(2,password);
        	rs=ps3.executeQuery();}
           catch(Exception ex){
		   noError=0;
	       out.println("<h2>SQL Error.Please try again.</h2><br>");
		   out.println(ex.getMessage());
           try {
           C.close();
           } catch (SQLException exit) {
            exit.printStackTrace();
            }
            out.println("</body>");
                  out.println("</html>");
                  out.close();}
                    try {
                           
                                  
                        if(rs.next()){
                                                       
                                      PreparedStatement ps1=null;
	        String sql1  = "DELETE FROM BLOCKING WHERE Blocker=?";
                                      try {
                                         ps1=C.prepareStatement(sql1);
                                         ps1.setString(1,userName);
                                         ps1.executeUpdate();}
		catch(Exception ex){
		   noError=0;
	          out.println("<h2>SQL Error</h2><br>");
		  out.println(ex.getMessage());
                                                            out.println("</body>");
                                                            out.println("</html>");
                                                            out.close();}
                                              try {
                                                   
                                                  rs.close();
                                              } catch (SQLException ex) {
                                                  ex.printStackTrace();
                                              }

       if(blocking!=""){
	StringTokenizer tk = new StringTokenizer(blocking,";");
		String tokens[] = new String[tk.countTokens()];
		for (int i = 0; i < tokens.length; i++) {
			tokens[i] = tk.nextToken();}
                                              for (int j = 0; j < tokens.length; j++) {
                                               if(tokens[j]!=null){
                                                        ResultSet rs7 = null;
                                                       PreparedStatement ps7=null;
	                                    String sql7  = "SELECT * FROM USERS WHERE UserName=?";
                                try {
                                   
                                    ps7=C.prepareStatement(sql7);
                                    ps7.setString(1,tokens[j]);
                                   rs7=ps7.executeQuery();}
		           catch(Exception ex){
		                         noError=0;
	                                 out.println("<h2>SQL Error 1</h2><br>");
		                         out.println(ex.getMessage());
                                    try {
                                        C.close();
                                    } catch (SQLException exit) {
                                        exit.printStackTrace();
                                    }
                          out.println("</body>");
                          out.println("</html>");
                          out.close();}
                                            try {
                                                                
                               
                                                if(!rs7.next()){
                                                     noError=0;
	                        out.println("<h2>SQL Error 2</h2><br>");
		                out.println("<h3>This UserName you choosed to block does not exist. Please try another.</h3>");
                                                try {
                                                    C.close();
                                                } catch (SQLException exit) {
                                                    exit.printStackTrace();
                                                }
                                                    out.println("</body>");
                                                     out.println("</html>");
                                                     out.close();}
                                
		
                                  else{
                                                                   rs7.close();      
                                                                    PreparedStatement ps2=null;
                                                                    String sql2  = "INSERT INTO BLOCKING(Blocker,Blocked) VALUES (? , ?)";
                                                                    try {
                                                                           ps2=C.prepareStatement(sql2);
                                                                           ps2.setString(1,userName);
                                                                           ps2.setString(2,tokens[j]);
                                                                           ps2.executeUpdate();}               
                                                                     catch(Exception ex){
		                                   noError=0;
	                                           out.println("<h2>SQL Error</h2><br>");
		                                   out.println(ex.getMessage());
                                                                               try {
                                                                                     C.close();
                                                                                      } catch (SQLException exit) {
                                                                                          exit.printStackTrace();
                                                                                     }
                                                                            out.println("</body>");
                                                                            out.println("</html>");
                                                                            out.close();}
                                   }
                                            } catch (SQLException ex) {
                                                ex.printStackTrace();
                                            }
                                                          }
                                                                          
      }
                                              
       }
        else{ 
        out.println("<b>**Blocking preferences deleted</b><br><br>");}
     }
       
                        
     else {
                                    noError=0;
	      out.println("<h2>Error</h2><br>");
	      out.println("Not a valid user or missing value.Please subscribe first or try again!");
                                    out.println("</body>");
                                    out.println("</html>");
                                    out.close();
     }
                    } catch (SQLException ex) {
                        ex.printStackTrace();
                    }
                
                   
        try {
                  
                    	
                    C.close();
                } catch (SQLException ex) {
                    ex.printStackTrace();}
   
                }
 
}


else if(choice.equals("update_forwarding"))
{
	if ((request.getParameter("userName")==null)|(request.getParameter("password")==null))
	{
		noError=0;
	    out.println("<h2>Please enter both username and password </h2>");
        out.println("</body>");
        out.println("</html>");
        out.close();
     }
     else
     {
    	 String userName=request.getParameter("userName");
         String password=request.getParameter("password");
         String forward=request.getParameter("forward");
         try 
         {
        	 Class.forName("com.mysql.jdbc.Driver");
			 System.out.println("MySQL Driver Load Ok!");
		  }
         catch (ClassNotFoundException e)
         {
			System.err.println(e);
		 }
		 try 
		 {
			String url1 = "jdbc:mysql://localhost/sip";
			C = DriverManager.getConnection (url1,"root","");
			System.out.println("MySQL Connection Ok!");
		  }
		 catch (SQLException e)
		 {
			System.err.println(e);
		 }
   
         PreparedStatement ps3=null;
         ResultSet rs=null;
         String sql  = "SELECT * FROM USERS WHERE UserName=? and Password=?";
         try 
         {
        	 ps3=C.prepareStatement(sql);
             ps3.setString(1,userName);
             ps3.setString(2,password);
        	 rs=ps3.executeQuery();}
		 catch(Exception ex)
		 {
		   noError=0;
	       out.println("<h2>SQL Error.Please try again.</h2><br>");
		   out.println(ex.getMessage());
           try 
           {
        	   C.close();
            }
           catch (SQLException exit) 
           {
               exit.printStackTrace();
           }
           out.println("</body>");
           out.println("</html>");
           out.close();
                  
		 }
         try
         {
        	 if(rs.next())
             {
        		 if(forward.equals(""))
        		 {
        			 PreparedStatement ps1=null;
	                 String sql1  = "DELETE FROM FORWARDING WHERE Forwarder=?";
                     try 
                     {
                    	 ps1=C.prepareStatement(sql1);
                         ps1.setString(1,userName);
                         ps1.executeUpdate();}
                         catch(Exception ex)
                         {
                        	 noError=0;
	                         out.println("<h2>SQL Error</h2><br>");
		                     out.println(ex.getMessage());
                             out.println("</body>");
                             out.println("</html>");
                             out.close();
                          }
                   }
        		 else
        		 {
        			 ResultSet rs7 = null;
                     PreparedStatement ps7=null;
	                 String sql7  = "SELECT * FROM USERS WHERE UserName=?";
                     try
                     {
                    	 ps7=C.prepareStatement(sql7);
                         ps7.setString(1,forward);
                         rs7=ps7.executeQuery();
                     }
                     catch(Exception ex)
                     {
                    	 noError=0;
	                     out.println("<h2>SQL Error 1</h2><br>");
		                 out.println(ex.getMessage());
                         try 
                         {
                        	 C.close();
                         }
                         catch (SQLException exit)
                         {
                        	 exit.printStackTrace();
                         }
                         out.println("</body>");
                         out.println("</html>");
                         out.close();
                      }
                                          
                      if(!rs7.next())
                      {
                    	  noError=0;
	                      out.println("<h2>SQL Error 2</h2><br>");
		                  out.println("<h3>This UserName you choosed to forward to does not exist. Please try another.</h3>");
                          try 
                          {
                        	  C.close();
                          }
                          catch (SQLException exit)
                          {
                        	  exit.printStackTrace();
                          }
                          out.println("</body>");
                          out.println("</html>");
                          out.close();
                       }
                       else
                       {
                              ////////////////////Start check circle/////////////////////////////////
                    	      String currentFor=forward;
                    	      ArrayList fChain=new ArrayList();
                    	      fChain.add(0,userName);
                    	      fChain.add(1,forward);
                    	      boolean noCycle=true,continueFlag=true;
                    	      
                    	      while(continueFlag && noCycle)
                    	      {
                    	    	  ResultSet rsCycle=null;
                    	    	  PreparedStatement psCycle=null;
                    	    	  String sqlCycle  = "SELECT FORWARDED FROM FORWARDING WHERE FORWARDER=?";
                    	    	  try
                    	    	  {
                    	              psCycle=C.prepareStatement(sqlCycle);
                    	              psCycle.setString(1,currentFor);
                    	           	  rsCycle=psCycle.executeQuery();
                   	    	      }
                    	    	  catch(Exception ex)
                    	    	  {
                    	    		  noError=0;
                    	    		  out.println("<h2>SQL Error 3</h2><br>");
                    	    		  out.println(ex.getMessage());
                    	    	      out.println("</body>");
                    	    	      out.println("</html>");
                    	    	      out.close();
                    	    	  }
                    	    	  
                    	    	  if (!rsCycle.next())
                    	    		  continueFlag=false;
                    	    	  else
                    	    	  {
                    	    		  String res=rsCycle.getString("FORWARDED");
                    	    		  for (int i=0; i<fChain.size(); i++)
                    	    		  {
                    	    			  if ((fChain.get(i)).equals(res))
                    	    					  noCycle=false;
                    	    	      }
                    	    		  if (noCycle)
                    	    		  {
                    	    			  fChain.add(res);
                    	    			  currentFor=res;
                    	    		  }
                    	    	  }  	    	  
                    	      }
                    	      
                              ////////////////////End check circle/////////////////////////////////
                               rs7.close();    
                               rs7 = null;
                               ps7=null;
	                           sql7  = "SELECT * FROM FORWARDING WHERE Forwarder=?";
                               try 
                               {
                            	   ps7=C.prepareStatement(sql7);
                                   ps7.setString(1,userName);
                                   rs7=ps7.executeQuery();}
		                           catch(Exception ex)
		                           {
		                        	   noError=0;
	                                   out.println("<h2>SQL Error 1</h2><br>");
		                               out.println(ex.getMessage());
                                       try
                                       {
                                    	   C.close();
                                       }
                                       catch (SQLException exit)
                                       {
                                        exit.printStackTrace();
                                       }
                                   out.println("</body>");
                                   out.println("</html>");
                                   out.close();
                                   }
		                           if ((!rs7.next())&& noCycle)
		                           {
		                        	   PreparedStatement ps1=null;	                       
	                                   String sql1  = "INSERT INTO FORWARDING (Forwarded,Forwarder) VALUES(?,?)";
                                       try 
                                       {
                                    	   ps1=C.prepareStatement(sql1);
                                           ps1.setString(1,forward);
                                           ps1.setString(2,userName);
                                           ps1.executeUpdate();
                                       }
		                               catch(Exception ex)
		                               {
		                            	   noError=0;
	                                       out.println("<h2>SQL Error</h2><br>");
		                                   out.println(ex.getMessage());
                                           out.println("</body>");
                                           out.println("</html>");
                                           out.close();
                                       }
                                   }
		                           else if (noCycle)
		                           {
		                        	   PreparedStatement ps1=null;	                       
	                                   String sql1  = "UPDATE FORWARDING SET Forwarded=? WHERE Forwader=?";
                                       try 
                                       {
                                    	   ps1=C.prepareStatement(sql1);
                                           ps1.setString(1,forward);
                                           ps1.setString(2,userName);
                                           ps1.executeUpdate();}
		                                   catch(Exception ex)
		                                   {
		                                	   noError=0;
	                                           out.println("<h2>SQL Error</h2><br>");
		                                       out.println(ex.getMessage());
                                               out.println("</body>");
                                               out.println("</html>");
                                               out.close();
                                           }
                          
                                   }
		                           else
		                           {
		                        	   noError=0;
		                        	   out.println("Sorry,you cannot forward to "+
		                        			       forward+". <br>Forward circle detected<br>");
                                       out.println("</body>");
                                       out.println("</html>");
                                       out.close();
		                           }
                             }
                                            
                 }
             }
        	 else 
        	 {
        		 noError=0;
	             out.println("<h2>Error</h2><br>");
		         out.println("Not a valid user or missing value.Please subscribe first or try again!");
                 out.println("</body>");
                 out.println("</html>");
                 out.close();
        	 }
         }
         catch (SQLException ex)
         {
        	 ex.printStackTrace();
         }
         try 
         {
        	 rs.close();	
             C.close();
         }
         catch (SQLException ex) 
         {
        	 ex.printStackTrace();
         }
     }
  
}


else if(choice.equals("new_registration")) {
    
        String userName=request.getParameter("userName");
 	String password=request.getParameter("password");
        String firstName=request.getParameter("firstName");
	String lastName=request.getParameter("lastName");
	String email=request.getParameter("email");
	String address=request.getParameter("address");
        String country=request.getParameter("country");
	String forward=request.getParameter("forward");
	String blocking=request.getParameter("blocking");
        String tokens[]=null;
         int ok=0;
        
        if(userName.equals("")|password.equals("")|firstName.equals("")|lastName.equals("")|address.equals("")|country.equals("")){
             out.println("<h3>You have not given all the information required.Please try again</h3>");
             noError=0;
              out.println("</body>");
             out.println("</html>");
             out.close();
        }
      
        else{   
                try {
			Class.forName("com.mysql.jdbc.Driver");
			System.out.println("MySQL Driver Load Ok!");
		} catch (ClassNotFoundException e) {
			System.err.println(e);
		}

		try {
			
			String url1 = "jdbc:mysql://localhost/sip";
			C = DriverManager.getConnection (url1,"root","");
			System.out.println("MySQL Connection Ok!");
			
		} catch (SQLException e) {
			System.err.println(e);
		}
        
      
       

	if(blocking!=""){
	StringTokenizer tk = new StringTokenizer(blocking,";");
		tokens = new String[tk.countTokens()];
		for (int i = 0; i < tokens.length; i++) {
			tokens[i] = tk.nextToken();
        }
        }
        ResultSet rs = null;
        PreparedStatement ps3=null;
	String sql  = "SELECT * FROM USERS WHERE UserName=?";
                        try {
                           
                            ps3=C.prepareStatement(sql);
                            ps3.setString(1,userName);
                       
                
        	rs=ps3.executeQuery();}
		catch(Exception ex){
		   noError=0;
	          out.println("<h2>SQL Error 1</h2><br>");
		  out.println(ex.getMessage());
                            try {
                                C.close();
                            } catch (SQLException exit) {
                                exit.printStackTrace();
                            }
                  out.println("</body>");
                  out.println("</html>");
                  out.close();
                  
	    }
                        try {
                            if(rs.next()){
                                 noError=0;
	          out.println("<h2>SQL Error 2</h2><br>");
		  out.println("<h3>This UserName belongs to another user. Please try another.</h3>");
                  try {
                                C.close();
                            } catch (SQLException exit) {
                                exit.printStackTrace();
                            }
                                out.println("</body>");
                                 out.println("</html>");
                                 out.close();
		}
          else{
        rs.close();
	PreparedStatement ps6=null;
	sql  = "SELECT * FROM USERS WHERE password=?";
                                           try {
                                               //out.print(sql);
                                               ps6=C.prepareStatement(sql);
                                         
                               ps6.setString(1,password);
        	rs=ps6.executeQuery();}
		catch(Exception ex){
		   noError=0;
	          out.println("<h2>SQL Error 3</h2><br>");
		  out.println(ex.getMessage());
                                 out.println("</body>");
                                 out.println("</html>");
                                 out.close();
		}
                                           try {
                                               if(rs.next()){
                                                 noError=0;
	          out.println("<h2>SQL Error 4</h2><br>");
		  out.println("<h3>This password belongs to another user. Please try another.</h3>");
                  try {
                                C.close();
                            } catch (SQLException exit) {
                                exit.printStackTrace();
                            }
                                                 out.println("</body>");
                                                 out.println("</html>");
                                                 out.close();
		  
		}
                                               else {ok=1;}
                                           } catch (SQLException ex) {
                                               ex.printStackTrace();
                                           }
          }
                        } catch (SQLException ex) {
                            ex.printStackTrace();
                        }
             
        if(ok==1){
        
        ps3=null;
        sql  = "INSERT INTO USERS (UserName,Password,FirstName,LastName,Email,Address,Country) VALUES (? , ?, ?, ?, ?, ?, ?)";
                            try {
                                ps3=C.prepareStatement(sql);
                            
                                ps3.setString(1,userName);
                                ps3.setString(2,password);
		                ps3.setString(3,firstName);
                                ps3.setString(4,lastName);
                                ps3.setString(5,email);
                                ps3.setString(6,address);
                                ps3.setString(7,country);
                           
  		ps3.executeUpdate();}
                catch(Exception ex){
		  noError=0;
	          out.println("<h2>SQL Error 5</h2><br>");
		  out.println(ex.getMessage());
                  out.println("</body>");
                  out.println("</html>");
                  out.close();
		}
        
      if(!forward.equals("")){
        ResultSet rs6 = null;
         ps3=null;
	sql  = "SELECT * FROM USERS WHERE UserName=?";
                            try {
                                
                                ps3=C.prepareStatement(sql);
                           
                ps3.setString(1,forward);
        	rs6=ps3.executeQuery();}
		catch(Exception ex){
		  noError=0;
	          out.println("<h2>SQL Error 6</h2><br>");
		  out.println(ex.getMessage());
                  try {
                                C.close();
                            } catch (SQLException exit) {
                                exit.printStackTrace();
                            }
                  out.println("</body>");
                  out.println("</html>");
                  out.close();
		}
                            try {
                                if(!rs6.next())
                {
		
                                   out.println("<h2>Error</h2><br>");
		  out.println("<h3>The person you have chosen for forward does not exist.Please try another.</h3>");
		}
                                else {
                         rs6.close();
			PreparedStatement ps4=null;
                sql  = "INSERT INTO FORWARDING(Forwarder,Forwarded) VALUES (? , ?)";
                                try {
                                    ps4=C.prepareStatement(sql);
                                
                                    ps4.setString(1,userName);
                                    ps4.setString(2,forward);
                                
  		ps4.executeUpdate();}
                catch(Exception ex){
		  noError=0;
                                   out.println("<h2>SQL Error</h2><br>");
		  out.println(ex.getMessage());
                  try {
                                C.close();
                            } catch (SQLException exit) {
                                exit.printStackTrace();
                            }
                  out.println("</body>");
                  out.println("</html>");
                  out.close();
		}
               }
                            } catch (SQLException ex) {
                                ex.printStackTrace();
                            }
       
      }
        
        
        if(!blocking.equals("")){
	 ps3=null;
	 rs = null;
	for (int j = 0; j < tokens.length; j++) {
          if(tokens[j]!=""){
           
                ps3=null;
	        sql  = "SELECT * FROM USERS WHERE UserName=?";
                                    try {
                                        
                 ps3=C.prepareStatement(sql);      
                 ps3.setString(1,tokens[j]);
        	rs=ps3.executeQuery();}
		catch(Exception ex){
		   noError=0;
	          out.println("<h2>SQL Error 7</h2><br>");
		  out.println(ex.getMessage());
                  out.println("</body>");
                  out.println("</html>");
                  out.close();
		}
                                    try {
                                        if(!rs.next())
                {
		  out.println("<html>");
                                           out.println("<h2>Error</h2><br>");
		  out.println("<h3>The person "+tokens[j]+" you have chosen to block does not exist.</h3>");
                  
		}
                                        else {
		PreparedStatement ps4=null;
                sql  = "INSERT INTO BLOCKING(Blocker,Blocked) VALUES (? , ?)";
                                        try {
                                            ps4=C.prepareStatement(sql);
                                       
                                            ps4.setString(1,userName);
                                            ps4.setString(2,tokens[j]);
                                        
  		ps4.executeUpdate();}
                catch(Exception ex){
		  noError=0;
                                           out.println("<h2>SQL Error</h2><br>");
		  out.println(ex.getMessage());
                  try {
                                C.close();
                            } catch (SQLException exit) {
                                exit.printStackTrace();
                            }
                  out.println("</body>");
                  out.println("</html>");
                  out.close();
		}
                
               }
                                    } catch (SQLException ex) {
                                        ex.printStackTrace();
                                    }


           }
        }
        }
      }
                
                try {
                  
                    	
                    C.close();
                } catch (SQLException ex) {
                    ex.printStackTrace();
                }
         
}
}
else {    noError=1;}

 if(noError==1|choice.equals("my_account")){
///////////Tsekarisma twn newn dedomenwn////////////////////////
String userName=request.getParameter("userName");
String password=request.getParameter("password"); 
    try {
			Class.forName("com.mysql.jdbc.Driver");
			System.out.println("MySQL Driver Load Ok!");
		} catch (ClassNotFoundException e) {
			System.err.println(e);
		}

		try {
			
			String url1 = "jdbc:mysql://localhost/sip";
			C = DriverManager.getConnection (url1,"root","");
			System.out.println("MySQL Connection Ok!");
			
		} catch (SQLException e) {
			System.err.println(e);
		}
 ResultSet rs = null;
 PreparedStatement ps5=null;
 String sql0  = "SELECT * FROM USERS WHERE UserName=? and Password=?";
        try {
            ps5=C.prepareStatement(sql0);
        
            ps5.setString(1,userName);
            ps5.setString(2,password);
        	rs=ps5.executeQuery();}
		catch(Exception ex){
		  noError=0;
	          out.println("<h2>SQL Error.Invalid entries!</h2><br>");
		  out.println(ex.getMessage());
                  try {
                                C.close();
                            } catch (SQLException exit) {
                                exit.printStackTrace();
                            }
                  out.println("</body>");
                  out.println("</html>");
                  out.close();
		}
        try {


            if(rs.next()){
        out.println("<b>UserName:</b> "+rs.getString("UserName")+"<br>");
	out.println("<b>Password:</b> "+rs.getString("Password")+"<br>");
	out.println("<b>FirstName:</b> "+rs.getString("FirstName")+"<br>");
	out.println("<b>LastName:</b> "+rs.getString("LastName")+"<br>");
	out.println("<b>Email:</b> "+rs.getString("Email")+"<br>");
	out.println("<b>Address:</b> "+rs.getString("Address")+"<br>");
	out.println("<b>Country:</b> "+rs.getString("Country")+"<br>");
	out.println("<b>Blocking and Forwarding Preferences  for this user</b><br>");

            
             ResultSet rs8 = null;
             PreparedStatement ps6=null;
             String sql9  = "SELECT * FROM BLOCKING WHERE Blocker=?";
                       try {
                           ps6=C.prepareStatement(sql9);
                     
		ps6.setString(1,userName);
		
                   	rs8=ps6.executeQuery();}
		catch(Exception ex){
		  noError=0;
	          out.println("<h2>SQL Error</h2><br>");
		  out.println(ex.getMessage());
                  try {
                                C.close();
                            } catch (SQLException exit) {
                                exit.printStackTrace();
                            }
                             out.println("</body>");
                             out.println("</html>");
                             out.close();
		}
             while(rs8.next()){
               out.println("<b>*Blocked:</b> "+rs8.getString("Blocked")+"<br>");  
               

             }

             rs8.close();
             ResultSet rs7 = null;
             PreparedStatement ps7=null;
             String sql10  = "SELECT * FROM FORWARDING WHERE Forwarder=?";
                       try {
                           ps7=C.prepareStatement(sql10);
                       
		ps7.setString(1,userName);
		
                   	rs7=ps7.executeQuery();}
		catch(Exception ex){
		  noError=0;
	          out.println("<h2>SQL Error 9</h2><br>");
		  out.println(ex.getMessage());
                  try {
                                C.close();
                            } catch (SQLException exit) {
                                exit.printStackTrace();
                            }
                             out.println("</body>");
                             out.println("</html>");
                             out.close();
		}
            
              while(rs7.next()){
                 out.println("<b>*Forwarded to:</b> "+rs7.getString("Forwarded")+"<br>");  
                 }
             rs7.close();
C.close();
out.println("<br>In case you wish to change your blocking or forwarding preferences press here:"+
		    "<a href='http://localhost:8080/FirsRegistration/Servlet1'>Change blocking or forwarding"+
		    " preferences</>");




            }
else {out.println("There is no user with that Username or/and Password.Some error occured.Please try again");}
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        try {
                                C.close();
                            } catch (SQLException exit) {
                                exit.printStackTrace();
                            }
        out.println("</body>");
        out.println("</html>");
        out.close();
}
	  	  	    
        }
}