Log in Example Using Stored Procedure
Java - MySQL - Eclipse
Database Table: sec_login
mysql> desc sec_login; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | username | varchar(20) | YES | | NULL | | | password | varchar(30) | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 2 rows in set (0.05 sec) mysql>
Stored Procedure: checklogin()
delimiter // create procedure checklogin(in user varchar(20), in pass varchar(30)) begin select * from sec_login where username=user AND password=pass; end // delimiter ;
LoginDao.java
Download project: SecureLoginUsingStoredProcedure
package com.login.dao; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import com.login.model.Login; import com.login.utilities.DBUtilities; public class LoginDao { public boolean checkLogin(Login login) throws SQLException { Connection con=null; CallableStatement callableStatement = null; try{ con=DBUtilities.getConnection(); String dbCheckLogin = "{call checklogin(?,?)}"; callableStatement = con.prepareCall(dbCheckLogin); callableStatement.setString(1, login.getUsername()); callableStatement.setString(2, login.getPassword()); ResultSet rs= callableStatement.executeQuery(); if(rs.next()) { return true; } else { return false; } } finally{ DBUtilities.closeConnection(con); } } }LoginManagement.java
package com.login.model; import java.sql.SQLException; import com.login.dao.LoginDao; public class LoginManagement { LoginDao logindao= new LoginDao(); public boolean checkLogin(Login login) throws SQLException { return logindao.checkLogin(login); } }LoginController.java
package com.login.controller; import java.io.IOException; import java.sql.SQLException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.login.model.Login; import com.login.model.LoginManagement; /** * Servlet implementation class LoginController */ @WebServlet("/LoginController") public class LoginController extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public LoginController() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doPost(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub LoginManagement loginManagement = new LoginManagement(); RequestDispatcher rd= null; String action=request.getParameter("actiontype"); if(action.equals("Login")) { String username=request.getParameter("username"); String password= request.getParameter("password"); Login login= new Login(username, password); boolean result=false; try { result = loginManagement.checkLogin(login); if(result) { request.setAttribute("user", login.getUsername()); rd=request.getRequestDispatcher("Home.jsp"); rd.forward(request, response); return; } else { request.setAttribute("err", "err"); rd=request.getRequestDispatcher("Login.jsp"); rd.forward(request, response); return; } } catch (SQLException e) { request.setAttribute("err", "err"); rd=request.getRequestDispatcher("Login.jsp"); rd.forward(request, response); return; } } } }Login.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Log in</title> <script type="text/javascript"> function validateForm() { var x=document.getElementById("username"); if (x.value=="") { document.getElementById('username_innermsg').innerHTML="Please enter the Username."; x.focus(); return false; } document.getElementById('username_innermsg').innerHTML=''; var x=document.getElementById("password"); if (x.value=="") { document.getElementById('password_innermsg').innerHTML="Please enter the Password."; x.focus(); return false; } document.getElementById('password_innermsg').innerHTML=''; } </script> </head> <body> <center> <h1>Log in</h1> <form action="LoginController" method="post" onsubmit="return validateForm();"> <input type="hidden" name="actiontype" value="Login"> <table > <tr> <td>Username :</td><td><input type="text" name="username" id="username"></td><td width="200px"> <i style="color: red;" id="username_innermsg"></i></td> </tr> <tr> <td>Password :</td><td><input type="password" name="password" id="password"></td><td width="200px"> <i style="color: red;" id="password_innermsg"></i></td> </tr> <tr><td></td><td ><input type="submit" value="Login"><input type="reset" value="Cancel"></td><td ></td> </tr> </table> </form> <i style="color: red;"> <% String er=null; try{ er= (String)request.getAttribute("err"); //out.print(er); if(er.equals("err")) { out.print("Username/Password not correct"); } } catch (Exception e){ } %> </i> </center> </body> </html>
Download project: SecureLoginUsingStoredProcedure
This comment has been removed by the author.
ReplyDeleteVery nice explanation.
ReplyDeleteprathap
java training in chennai
Day by day I am getting new things and learn new concept through your blogs, I am feeling so confidants, and thanks for your informative blog keep your post as updated one...
ReplyDeleteJAVA Training Center in Chennai
This post is very simple to read and appreciate without leaving any details out. Great work! call center dialer
ReplyDeleteVery efficiently written information. It will be beneficial to anybody who utilizes it, including me. Keep up the good work. Screen tearing is a bug when data from two or more frames is displayed in a single screen draw if the frame rate your computer is producing is different (either higher or lower) than the refresh rate of your monitor. You can visit any Refresh rate checker website to check monitor refresh rate.
ReplyDelete