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

  1. Create Eclipse Dynamic web project
  2. Add Dependencies
  3. Project Structure
  4. MySQL Database Setup
  5. Create a JavaBean - Login.java
  6. Create a LoginDao.java
  7. Create a login.jsp
  8. Create a loginsuccess.jsp
  9. 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

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel