Login Authentication using Bean and Servlet In JSP
In this section, we have developed a web application of login authentication using Bean in JSP. Five files are used "login.jsp", "loginbean.jsp", "welcome.jsp","LoginBean.java" and "login.java" in the code given below.
Brief description of the flow of application :
1). Create a webpage "login.jsp" to login the user.
2). Create a webpage "loginbean.jsp" to set the parameter using JSP Bean and forward to the Servlet page.
3). Create a bean file "LoginBean.java" to mapping the parameter from "loginbean.jsp".
4). Create a Servlet "login.java" to validate the username and password from the database.
5). Create a webpage "welcome.jsp" display a message after successfully user login.
Step:1 Create a web page "login.jsp" to login the user.
<html> <head> </head> <body> <form name="loginform" method="post" action="loginbean.jsp"> <br><br> <table align="center"><tr><td><h2>Login Authentication</h2></td></tr></table> <table width="300px" align="center" style="border:1px solid #000000;background-color:#efefef;"> <tr><td colspan=2></td></tr> <tr><td colspan=2> </td></tr> <tr> <td><b>Login Name</b></td> <td><input type="text" name="userName" value=""></td> </tr> <tr> <td><b>Password</b></td> <td><input type="password" name="password" value=""></td> </tr> <tr> <td></td> <td><input type="submit" name="Submit" value="Submit"></td> </tr> <tr><td colspan=2> </td></tr> </table> </form> </body> </html>
Step:2 To create a "loginbean.jsp"
to set the parameter of the login.
<%@ page language="Java" import="java.sql.*" %> <HTML> <HEAD><TITLE>DataBase Search</TITLE></HEAD> <BODY> <jsp:useBean id="db" scope="request" class="logbean.LoginBean" > <jsp:setProperty name="db" property="userName" value="<%=request.getParameter("userName")%>"/> <jsp:setProperty name="db" property="password" value="<%=request.getParameter("password")%>"/> </jsp:useBean> <jsp:forward page="hello"> <jsp:param name="username" value="<%=db.getUserName()%>" /> <jsp:param name="password" value="<%=db.getPassword()%>" /> </jsp:forward> </body> </html>
Step:3 To create a "LoginBean.java" to mapping the parameter of "loginbean.jsp".
package logbean; public class LoginBean { String userName=""; String password=""; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
Step:4 To create a Servlet "login.java" for validate the user login.
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import javax.sql.*; import java.sql.*; public class login extends HttpServlet{ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{ response.setContentType("text/html"); PrintWriter out = response.getWriter(); System.out.println("MySQL Connect Example."); 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 username=""; String userpass=""; String strQuery= ""; Statement st=null; ResultSet rs=null; HttpSession session = request.getSession(true); try { Class.forName(driver).newInstance(); conn = DriverManager.getConnection(url+dbName,userName,password); if(request.getParameter("username")!=null && request.getParameter("username")!="" && request.getParameter("password")!=null && request.getParameter("password")!="") { username = request.getParameter("username").toString(); userpass = request.getParameter("password").toString(); strQuery="select * from userregister where username='"+username+"' and password='"+userpass+"'"; System.out.println(strQuery); st = conn.createStatement(); rs = st.executeQuery(strQuery); int count=0; while(rs.next()) { session.setAttribute("username",rs.getString(2)); count++; } if(count>0) { response.sendRedirect("welcome.jsp"); } else { response.sendRedirect("login.jsp"); } } else { response.sendRedirect("login.jsp"); } System.out.println("Connected to the database"); conn.close(); System.out.println("Disconnected from database"); } catch (Exception e) { e.printStackTrace(); } } }
Step :5 To create the webpage "welcome.jsp" to display the message after successful message.
<HTML> <HEAD><TITLE>Welcome</TITLE></HEAD> <BODY> <br><br><br><br> <table align="center" style="border:1px solid #000000;"> <% if(session.getAttribute("username")!=null && session.getAttribute("username")!="") { String user = session.getAttribute("username").toString(); %> <tr><td align="center"><h1>Welcome <b><%= user%></b></h1></td></tr> <% } %> </table> </body> <html>
Output:
Login Authentication form :
After Successful Login user :