How To Page Refresh Using JavaScript In JSP

In this section, you will learn how to refresh jsp page using javaScript.

How To Page Refresh Using JavaScript In JSP

How To Page Refresh Using JavaScript In JSP

     

In this section, we develop an User Login application . We created five file sign.jsp,signout.jsp,user_register.jsp,userlogin.jsp and useradd.jsp. 

Brief description of the flow of the application: 

  • User opens sign.jsp in the browser and clicks on "Sign In" button.
  • New opens where user can provide username and password.
  • If user enters correct username and password  user. If the login is successful, parent window is refreshed and user details is displayed.
  • User can also signup for new account.

 

Step 1: Create a web page(sign.jsp) to show a button to Login user.


<%@ page import="java.sql.*" %> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  <script>
  function signout()
  {
	  
	   window.location.href="signout.jsp";
  }
  </script>
 </HEAD>

 <BODY>
 <br><br><br><br><br>
 <table width="250px" align="center" bgcolor="#CDFFFF" border=0 style="border:1px solid;">
<%
if(session.getAttribute("username")!=null && session.getAttribute("password")!=null)
{
 String username="";
  String pass="";
Connection conn = null;
    String url = "jdbc:mysql://localhost:3306/";
    String dbName = "user_register";
    String driver = "com.mysql.jdbc.Driver";
    String userName = "root"; 
    String password = "root";
    String data = "";
    int sumcount=0; 
	Statement st;
	
    try {
      Class.forName(driver).newInstance();
	
      conn = DriverManager.getConnection(url+dbName,userName,password);
	    
	   username = session.getAttribute("username").toString();
	  
	   pass = session.getAttribute("password").toString();

	    String query = 
           "select * from userregister where  username='"+username+"' and password='"+pass+"'";

	
       st = conn.createStatement();
	   ResultSet  rs = st.executeQuery(query);
	   if(rs.next())
		{
		   %>
	      <tr><td colspan=3 align="center"><b>User Details</b></td></tr>
	     <tr><td><b>User Name </b></td><td><b>:</b></td><td><%=rs.getString(2)%></td></tr>
	     <tr><td><b>First Name </b></td><td><b>:</b></td><td><%=rs.getString(4)%></td></tr>
	     <tr><td><b>Last Name </b></td><td><b>:</b></td><td><%=rs.getString(5)%></td></tr>
	     <tr><td><b>City </b></td><td><b>:</b></td><td><%=rs.getString(6)%></td></tr>
	      <tr><td><b>State </b></td><td><b>:</b></td><td><%=rs.getString(7)%></td></tr>
              <tr><td><b>Country</b></td><td><b>:</b></td><td><%=rs.getString(8)%></td></tr>
			  <%
		}

       
		out.println(data);
		
	}
	catch (Exception e) {
      e.printStackTrace();
    }
	


%>

<tr>
  <td align="center" colspan=3>
<input type="button" name="signout" value="Sign Out" onclick="signout();">
</td>
</tr>
	
<%
}
else
{
%>
<tr><td colspan=2>&nbsp;</td></tr>
<tr><td colspan=2 align="center"><b>To Login  User Click on  Sign In</b></td></tr>
<tr><td colspan=2>&nbsp;</td></tr>
<tr>
<td colspan="2" align="center">
<input type="button" name="signin" value="Sign In" 
onClick="window.open('userlogin.jsp','mywindow','width=500,
height=350,toolbar=no,resizable=yes,menubar=yes')">
</td></tr>
<tr><td colspan=2>&nbsp;</td></tr>
<%
}
%>

 </table> 
 </BODY>
</HTML>

 

Step:2Create a web page (userlogin.jsp)  to User Login.

<html>

      <head>

      <style>

      a{

      font: bold 13px Verdana;

      padding: 2px;

      padding-left: 4px;

      display: block;

      width: 100px;

      color: black;

      text-decoration: underline;

      }

      a:hover{

      

    color: black;

	text-decoration: none;

      } 

      </style>

      

      

      <script>

      function validate()

      {

	 if(document.frm.username.value=="")

	{

		 alert("Please enter username");

		 document.frm.username.focus();

		 return false;

	}

	 if(document.frm.password.value=="")

	{

		 alert("Please enter username");

		 document.frm.password.focus();

		 return false;

	}

	return true;

      }

      function trim(stringToTrim) {

	return stringToTrim.replace(/^\s+|\s+$/g,"");

      }

      function login()

      { 

	if(validate())

	{

      

	xmlHttp=GetXmlHttpObject()

	if (xmlHttp==null)

	{

	alert ("Browser does not support HTTP Request")

	return

	}

      

	var username =document.getElementById("username").value;

	var password =document.getElementById("password").value;

      

      

      

	var url="userloginmid.jsp"

	url=url+"?username="+username+"&password="+password;

	//alert(url);

      

	xmlHttp.onreadystatechange=stateChanged 

	xmlHttp.open("GET",url,true)

	xmlHttp.send(null)

	}

      

      }

      

      function stateChanged() 

      { 

      

      if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")

 { 

      

  var showdata = xmlHttp.responseText; 

  var str  = showdata.toString();
   if(trim(str)=="successLogin")

	 {

		window.opener.location.reload();

		window.location.reload(); 

		window.close();

	 }

	 else

	 {

		 	window.location.href="userlogin.jsp?errmsg=error";

	 }

      

 } 

      }

      

      function GetXmlHttpObject()

      {

      var xmlHttp=null;

      try

 {

 // Firefox, Opera 8.0+, Safari

 xmlHttp=new XMLHttpRequest();

 }

      catch (e)

 {

 //Internet Explorer

 try

  {

  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

  }

 catch (e)

  {

  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

  }

 }

      return xmlHttp;

      }

      

      </script>

      

      </head>

      <body>

      <br><br>

      <%

      

      String errmsg="";

      if(request.getParameter("errmsg")!=null && request.getParameter("errmsg")!="")

      {

   errmsg ="Invalid username and password";

      }

      %>

      

      <form name="frm">

      <table border="0" width="400px" align="center" bgcolor="#CDFFFF">

      <tr><td colspan=2 align="center" style="color:red;"><%=errmsg%></td></tr>

      <tr><td colspan=2 align="center">&nbsp;</td></tr>

      <tr><td colspan=2 align="center"><b>User Login</b></td></tr>

      <tr><td>Username : </td><td><input type="text" name="username" id="username"></td></tr>

      <tr><td>Password : </td><td><input type="password" name="password" id="password"></td></tr>

      

      <tr><td colspan=2 align="center"><input type="button" name="submit" value="Submit" onclick="login();"></td></tr>

      <tr><td colspan=2 align="center"><a href="user_register.jsp">New User</a></td></tr>

      </form>

      </body>

      </html>

      
    

 


Step 3:Create a web page (userloginmid.jsp) to retieve the details of selected user. 
 

<%@ page import="java.sql.*" %> 

    <%

    String username = request.getParameter("username").toString();

    String pass = request.getParameter("password").toString();

    

    Connection conn = null;

    String url = "jdbc:mysql://localhost:3306/";

    String dbName = "user_register";

    String driver = "com.mysql.jdbc.Driver";

    String userName = "root"; 

    String password = "root";

    String data = "";

    int sumcount=0; 

	Statement st;

    try {

      Class.forName(driver).newInstance();
      conn = DriverManager.getConnection(url+dbName,userName,password);

	    String query = "select count(*) from userregister where  username='"+username+"' and password='"+pass+"'";
         st = conn.createStatement();

	   ResultSet  rs = st.executeQuery(query);

	   if(rs.next())

		{

		     System.out.println(query);

		   if(rs.getInt(1)>0)

			{

			   session.setAttribute("username",username);

			    session.setAttribute("password",pass);

		    data = "successLogin";

			}

		}

		out.println(data);

	}

	catch (Exception e) {

      e.printStackTrace();

    }

 %>

Step 4:Create a web page (useradd.jsp) to add new user. 


    <%@ page import="java.sql.*" %> 
<%
String username = request.getParameter("username").toString();
String pass = request.getParameter("password").toString();
String first_name = request.getParameter("first_name").toString();
String last_name = request.getParameter("last_name").toString();
String city = request.getParameter("city").toString();
String state = request.getParameter("state").toString();
String country = request.getParameter("country").toString();
String data="";



Connection conn = null;
String url = "jdbc:mysql://localhost:3306/";
String dbName = "user_register";
String driver = "com.mysql.jdbc.Driver";
String userName = "root"; 
String password = "root";

int sumcount=0; 
Statement st;
try {
Class.forName(driver).newInstance();

conn = DriverManager.getConnection(url+dbName,userName,password);
String query = "insert into userregister set username='"+username+"',password='"+pass+"',first_name='"+first_name+
"',last_name='"+last_name+"',city='"+city+"',state='"+state+"',country='"+country+"'";
System.out.println("query : " + query);
st = conn.createStatement();
int i = st.executeUpdate(query);
if(i>0)
{
data ="successAdd";
}


out.println(data.trim());
}
catch (Exception e) {
e.printStackTrace();
}
%>


Successful Output of the program:

Click on Sign In to Login User:






Output when Successfully Submit the User Login refresh the parent window and show the user details.

 

For New User. 


Download the full web application shows here.

Download the application