[an error occurred while processing this directive]

Login Authentication in JSP

                         

Example program for Login Authentication using JSP, Servlet, MySQL

In this example we will show you how to authenticate and login user against database username and password. This program consists of a JSP page and a Servlet to authenticate the user against database username and password.

User enters the username and password on the JSP page and clicks on the "Sign-In" button. On the form submit event, data is posted to the servlet for authenticating the user. Servlet makes JDBC connection and authenticate the user. Before submitting data to servlet, javascript is ensuring that none of the fields must be empty.

We are using tomcat server for running Servlet and JSP page. You can use any browser to test the application. We are using two files AuthenticLogin.jsp and LoginAuthentication.java and we are making the application in "webapps/JSPMultipleForms" in tomcat server. We have used MySQL for database connection and by putting values in "user" table we have authenticated the input of user. Table structure for "user" table is given as below:

User Table Structure of MySQL:

CREATE TABLE `user` (
`user` varchar(256) default NULL,
`password` varchar(256) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

/*Data for the table `user` */

insert into `user`(`user`,`password`) values ('amit','kumar');

AuthenticLogin.jsp is calling Servlet "LoginAuthentication" to authenticate user's input. Servlet "LoginAuthentication.java" which will first establishes the JDBC connection to the database on the machine whose IP address is 192.168.10.59. The database used in this application is messagepaging. You can change the database before running the example at your machine. Then program authenticates the user against database. If input given by user is correct then a message will flash on the browser that "Welcome" and user name  else "Please enter correct username and password" and there will be given a link to login again.

The code for LoginAuthentication.java is given as below:

1. LoginAuthentication.java

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

public class LoginAuthentication extends HttpServlet{

  private ServletConfig config;
  
  public void init(ServletConfig config)
    throws ServletException{
     this.config=config;
     }
  public void doPost(HttpServletRequest request, HttpServletResponse response
             
throws ServletException,IOException{
      
    PrintWriter out = response.getWriter();
    String connectionURL = "jdbc:mysql://192.168.10.59/messagepaging";
    Connection connection=null;
    ResultSet rs;
    String userName=new String("");
    String passwrd=new String("");
    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""root")
      //Add the data into the database
      String sql = "select user,password from User";
      Statement s = connection.createStatement();
      s.executeQuery (sql);
      rs = s.getResultSet();
      while (rs.next ()){
        userName=rs.getString("user");
        passwrd=rs.getString("password");
      }
      rs.close ();
      s.close ();
      }catch(Exception e){
      System.out.println("Exception is ;"+e);
      }
      if(userName.equals(request.getParameter("user")) 
             && passwrd.equals
(request.getParameter("pass"))){
        out.println("WELCOME "+userName);
      }
      else{
        out.println("Please enter correct username and password");
        out.println("<a href='AuthenticLogin.jsp'><br>Login again</a>");
      }
  }
}  

2. AuthenticLogin.jsp

<%@ page language="java" %>
<html>
<head>
<title>Login Page</title>
<script language = "Javascript">
function Validate(){
var user=document.frm.user
var pass=document.frm.pass

if ((user.value==null)||(user.value=="")){
alert("Please Enter user name")
user.focus()
return false
}
if ((pass.value==null)||(pass.value=="")){
alert("Please Enter password")
pass.focus()
return false
}
return true
}
</script>
</head>
<body>
<h1>Login
<br>
</h1>
<form name="frm" action="/JSPMultipleForms/LoginAuthentication" method="Post" onSubmit="return Validate()" >
Name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="user" value=""/><br>
Password:<input type="password" name="pass" value=""/><br>
<br>&nbsp;&nbsp;&nbsp;<input type="submit" value="Sign-In" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" value="Reset" />
</form>
</body>
</html>

For invoking servlet in tomcat server we have to include the following lines into "web.xml" file.

3. web.xml

<!--web.xml code -->

<servlet>
<servlet-name>LoginAuthentication</servlet-name>
<servlet-class>LoginAuthentication</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>LoginAuthentication</servlet-name>
<url-pattern>/LoginAuthentication</url-pattern>
</servlet-mapping>

To Run the above example you have to follow these steps:

1.Create and Save LoginAuthentication.java.
2.Compile LoginAuthentication.java and place the class file into classes folder.
3.Insert the servlet name and mapping in web.xml.
4.Create and Save AuthenticLogin.jsp file in JSPMultipleForms folder.
5.Deploy the Tomcat Server.
6.Type the following line in address bar "http://localhost:8080/JSPMultipleForms/AuthenticLogin.jsp"

Output:

If correct entries were not made then you have to login again.

Download Source Code

                         

[an error occurred while processing this directive]