How to Create a Login Form Using Html + Servlet + Java + Xml
a month ago
4 min read

How to Create a Login Form Using Html + Servlet + Java + Xml

How to handle HTML form data with Java Servlet

How to create a login form using HTML + SERVLET + JAVA + XML

___________________________________________________________________

In this article, we will build a simple Login Form using HTML+ SERVLET + JAVA + XML.

In this example, we will create an Employee Login Form and we will validate the employee username and password with the database.

Let me list the tools and technologies HTMLI has used to develop this application.

Tools and technologies used

1. IDE — STS/Eclipse Neon.3

2. JDK — 1.8 or later

3. Apache Tomcat — 8.5

4. 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 an HTML — Login.html

6. Create a LoginServlet.java

7. Create a conn.java

8. Create a web.xml

1. Create an Eclipse Dynamic Web Project

To create a new dynamic Web project in Eclipse:

1. On the main menu select File > New > Project….

2. In the upcoming wizard choose Web > Dynamic Web Project.

3. Click Next.

4. Enter project name as “login form”;

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 the below jar files to the lib folder.

- 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(50) PRIMARY KEY,
  `password` varchar(50) Not NULL,
);

Here is an Insert SQL statement:

INSERT INTO `mysql_database`.`login` (`username`, `password`) VALUES ("Ajay", "Ajay");

5. Create a login.html

Let’s design a login HTML form with the following fields:

. username

. password

HTML

<!DOCTYPE html>
<html><head>
    <meta charset="ISO-8859-1">
    <title>Insert title here</title>
</head><body><form action="Login" method="post">
        Username:<input type="text" name="username">
        <br> password:
        <input type="password" name="password">
        <br>
        <input type="submit" name="login">
    </form>
</body></html>

6. Create a LoginServlet.java

Let’s create a LoginServlet.java class which contains JDBC code to connect with MySQL database. Add the following code to a LoginServlet class:

Java

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class LoginServlet extends HttpServlet {    public void doGet(HttpServletRequest req,
                      HttpServletResponse res)
        throws IOException
    {
        {
            try {
                Connection con =databasessescon();
                System.out.println(
                    "connected with the database successfully");
                PreparedStatement ps = con.prepareStatement(
                    "select *from login");
                ResultSet rs = ps.executeQuery();                while (rs.next()) {
                    String username
                        = rs.getString("username");
                    String password
                        = rs.getString("Password");
                    String s1
                        = req.getParameter("username");
                    String s2
                        = req.getParameter("Password");                    PrintWriter out = res.getWriter();
                    out.println("username is : " + s1);
                    out.println("Password is : " + s2);                    out.println("username is : "
                                + username);
                    out.println("Password is : "
                                + password);                    if (s1.equals(username)
                        && s2.equals(password)) {                        out.println("You are login");
                    }
                    else {
                        out.println(
                            "Wrong user id password");
                    }
                }
            }
            catch (SQLExcep  tion e) {
                System.out.println("Error");
            }
        }
    }
}

7. Create a conn.java

Let’s create conn.java to process HTTP request parameters and redirect to the appropriate HTML page based on the employee login status.

Note: Connection con = DriverManager.getConnection("JDBC:mysql://localhost:3306/Database name","username","password");

Java

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException; public class conn {
    public static Connectiondatabasesn()
        throws SQLException
    {
        Connection con = DriverManager.getConnectiJDBCjdbc:mysql://localhost:3306/mysql_database","root", "Ajay@1234");
        return con;
    }    public static void main(String[] args)
        throws SQLException
    {        Connectiodatabasesbasescon();
          System.out.println("Done");
    }
}

8. Create a web.xml

After an employee successfully login then this page shows a successful message on screen:

XML

<?XML version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID"
         version="3.1">
  <display-name>LoginForm</display-name>
  
  <servlet>
  <servlet-name>FirstServlet</servlet-name>
  <servlet-class>LoginServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
  <servlet-name>FirstServlet</servlet-name>
  <url-pattern>Login</url-pattern>
  </servlet-mapping>
</web-app>

Note that on the above page, we have used HTML action tags. Read more about action tags here.

Employee Login Form

Login Success Page

You are login

10. Related Articles

. html+ JDBC

. HTML + JDBC + MySQL Example — In this article, we will build a simple Employee Registration module using HTML, JDBC, and MySQL database.

. HTML Login Form + JDBC + MySQL Example — In this article, we will build a simple Login Form using HTML, JDBC and MySQL database.

_____________________________________________

Writer: Ajaydhangar

LinkedIn

Twitter