How to Design a Login Page in Java Using Eclipse
JSP Login Form + JDBC + MySQL Example
This article is a series ofJSP Tutorial.In this article, we will build a simple Login Form using JSP, JDBC and MySQL database.
In this example, we will write JDBC code separate from the JSP page. JSP page we will be using only for presentation.
Let me list out the tools and technologies that I have used to develop this application.
You can download the source code of this article from my GitHub repository. The link has given at end of this article.
In this article, we will design below the Login Form JSP page and store Form parameters into the MySQL database:
Tools and technologies used
- JSP - 2.2 +
- IDE - STS/Eclipse Neon.3
- JDK - 1.8 or later
- Apache Tomcat - 8.5
- JSTL - 1.2.1
- MySQL - mysql-connector-java-8.0.13.jar
Development Steps
- Create Eclipse Dynamic web project
- Add Dependencies
- Project Structure
- MySQL Database Setup
- Create a JavaBean - Login.java
- Create a LoginDao.java
- Create a login.jsp
- Create a loginsuccess.jsp
- Demo
1. Create an Eclipse Dynamic Web Project
To create a new dynamic Web project in Eclipse:
1. On the main menu selectFile > New > Project....
2. In the upcoming wizard chooseWeb > Dynamic Web Project.
3. ClickNext.
4. Enter project name as "login-jsp-jdbc-example";
5. Make sure that the target runtime is set to Apache Tomcat with the currently supported version.
2. Add Dependencies
Add the latest release of below jar files to the lib folder.
- jsp-api.2.3.1.jar - servlet-api.2.3.jar - mysql-connector-java-8.0.13.jar
In Eclipse, paste these JAR files to your project directory: WebContent/WEB-INF/lib
3. Project Structure
Standard project structure for your reference -
4. MySQL Database Setup
Let's create a database named "mysql_database" in MySQL. Now, create a login table using below DDL script:
CREATE TABLE `login` ( `username` varchar(45) NOT NULL, `password` varchar(45) DEFAULT NULL, PRIMARY KEY ( `username` ) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
Here is an Insert SQL statement:
INSERT INTO `mysql_database` . `login` ( `username` , `password` ) VALUES ( "Ramesh" , "Ramesh" );
5. Create a JavaBean - LoginBean.java
Let's create a LoginBean class which we will use in JSP action tags.
package net.javaguides.login.bean; import java.io.Serializable; public class LoginBean implements Serializable { /** * */ private static final long serialVersionUID = 1 L; private String username; private 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; } }
6. Create a LoginDao.java
We will separate JDBC accessing code separate from JSP. So let's create an LoginDao.java class under net.javaguides.jsp.jdbc.database package and add following code to it:
package net.javaguides.login.database; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import net.javaguides.login.bean.LoginBean; public class LoginDao { public boolean validate(LoginBean loginBean) throws ClassNotFoundException { boolean status = false; Class .forName( "com.mysql.jdbc.Driver" ); try (Connection connection = DriverManager .getConnection( "jdbc:mysql://localhost:3306/mysql_database?useSSL=false" , "root" , "root" ); // Step 2:Create a statement using connection object PreparedStatement preparedStatement = connection .prepareStatement( "select * from login where username = ? and password = ? " )) { preparedStatement.setString(1, loginBean.getUsername()); preparedStatement.setString(2, loginBean.getPassword()); System .out.println(preparedStatement); ResultSet rs = preparedStatement.executeQuery(); status = rs.next(); } catch (SQLException e) { // process sql exception printSQLException(e); } return status; } private void printSQLException(SQLException ex) { for (Throwable e: ex) { if (e instanceof SQLException) { e.printStackTrace(System .err); System .err.println( "SQLState: " + ((SQLException) e).getSQLState()); System .err.println( "Error Code: " + ((SQLException) e).getErrorCode()); System .err.println( "Message: " + e.getMessage()); Throwable t = ex.getCause(); while (t != null) { System .out.println( "Cause: " + t); t = t.getCause(); } } } } }
7. Create a login.jsp
Let's design login HTML form with following fields:
- username
- password
<%@ page language= "java" contentType= "text/html; charset=ISO-8859-1" pageEncoding= "ISO-8859-1" %> <!DOCTYPE html> <html> <head> <meta charset= "ISO-8859-1" > <title>Insert title here</title> </head> <body> <h1>Employee Login Form</h1> <form action= "loginsuccess.jsp" method= "post" > <table style= " with: 100% " > <tr> <td>UserName</td> <td><input type= "text" name= "username" /></td> </tr> <tr> <td>Password</td> <td><input type= "password" name= "password" /></td> </tr> </table> <input type= "submit" value= "Submit" /> </form> </body> </html>
8. Create a loginsuccess.jsp
After an employee successfully login then this page show a successful message on screen:
<%@ page language= "java" contentType= "text/html; charset=ISO-8859-1" pageEncoding= "ISO-8859-1" %> <%@page import= "net.javaguides.login.database.*" %> <!DOCTYPE html> <html> <head> <meta charset= "ISO-8859-1" > <title>Insert title here</title> </head> <body> <jsp:useBean id= "login" class= "net.javaguides.login.bean.LoginBean" /> <jsp:setProperty property= "*" name= "login" /> <% LoginDao loginDao = new LoginDao(); boolean status = loginDao.validate(login); if (status) { out.print( "<h1>You have logined successfully</h1>" ); } %> </body> </html>
Note that in the above page, we have used JSP action tags. Read more about action tags here.
9. Demo
It's time to see a demo of the above development. Deploy this web application in tomcat server.
Employee Login Form
Login Success Page
JDBC 4.2 JSP Tutorial MySQL
Free Spring Boot Tutorial - 5 Hours Full Course
Watch this course on YouTube at Spring Boot Tutorial | Fee 5 Hours Full Course
How to Design a Login Page in Java Using Eclipse
Source: https://www.javaguides.net/2019/01/jsp-login-form-jdbc-mysql-example.html
0 Response to "How to Design a Login Page in Java Using Eclipse"
Enregistrer un commentaire