×
☰ See All Chapters

How to connect servlet to database - Example of registration form in servlet

In this tutorial we learn to connect servlet to MySQL database. This is an example of simple registration form in servlet.

Project Directory structure

servlet-and-database-0
 

Database script

CREATE TABLE CUSTOMER

(NAME VARCHAR(30),

PASSWORD VARCHAR(30),

EMAIL VARCHAR(30),

PHONE VARCHAR(10));

home.html

<html>

<body bgcolor="AAAAA">

        <table align="center" width=40% cellspacing="2" cellpadding="2"

                border="5">

                <tr>

                        <td colspan="2" align="center"><b>Welcome</b></td>

                </tr>

                <tr>

                        <td align="center"><b> <a href="signin.html">SIGNIN</a></b></td>

                        <td align="center"><b> <a href="signup.html">SIGNUP</a></b></td>

                </tr>

</body>

</html>

signin.html

<html>

<body bgcolor="yellow">

        <h1>please enter your details</h1>

        <form action="../signin" method="post">

                <table>

                        <tr>

                                <td>Enter your Name</td>

                                <td><input type="text" name="nme"></td>

                        </tr>

                        <tr>

                                <td>Enter your Password</td>

                                <td><input type="password" name="pwd"></td>

                        </tr>

                        <tr>

                                <td colspan="2" align="center"><input type="submit"

                                        value="SIGNIN"></td>

                        </tr>

                </table>

        </form>

</body>

</html>

signup.html

<html>

<body bgcolor="yellow">

        <form action="../signup" method="post">

                <h1>Please enter your details</h1>

<table>

                        <tr>

                                <td>Enter your name</td>

                                <td><input type="text" name="nme"></td>

                        </tr>

                        <tr>

                                <td>Enter your password</td>

                                <td><input type="password" name="pwd"></td>

                        </tr>

                        <tr>

                                <td>Enter your email</td>

                                <td><input type="text" name="email"></td>

                        </tr>

                        <tr>

                                <td>Enter your phone</td>

                                <td><input type="text" name="phone"></td>

                        </tr>

                        <tr>

                                <td><input type="submit" value="SIGNUP"></td>

                        </tr>

                </table>

        </form>

</body>

</html>

SignupServlet.java

package com.java4coding;

 

import java.io.IOException;

import java.io.PrintWriter;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

 

import javax.servlet.*;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

public class SignupServlet extends HttpServlet {

        public void doPost(HttpServletRequest req, HttpServletResponse res)

                        throws ServletException, IOException {

                res.setContentType("text/html");

                PrintWriter pw = res.getWriter();

 

                String strNme = req.getParameter("nme");

                String strPwd = req.getParameter("pwd");

                String strEmail = req.getParameter("email");

                String strPhone = req.getParameter("phone");

 

                Connection con = null;

                PreparedStatement pst = null;

                try {

                        // Class.forName("com.mysql.jdbc.Driver"); //for mysql versions lesser than 8.0

                        Class.forName("com.mysql.cj.jdbc.Driver");// for mysql version 8.0, this requires java 1.8

                        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/study", "root", "root");

                        pst = con.prepareStatement("INSERT INTO CUSTOMER(NAME, PASSWORD,EMAIL, PHONE) VALUES (?,?,?,?)");

 

                        pst.setString(1, strNme);

                        pst.setString(2, strPwd);

                        pst.setString(3, strEmail);

                        pst.setString(4, strPhone);

 

                        int i = pst.executeUpdate();

 

                        if (i == 1) {

                                pw.println("<html>");

                                pw.println("<body bgcolor='green'>");

                                pw.println("Hello Mr." + strNme

                                                + " Thank You for becoming a member");

                                pw.println("</body>");

                                pw.println("</html>");

                        } else {

                                pw.println("<html>");

                                pw.println("<body bgcolor='red'>");

                                pw.println("Hello Mr." + strNme + " Better luck next time");

                                pw.println("</body>");

                                pw.println("</html>");

                        }

 

                } catch (ClassNotFoundException e) {

                        System.out.println("Exception caught " + e);

                        e.printStackTrace();

                } catch (SQLException e) {

                        System.out.println("Exception caught " + e);

                        e.printStackTrace();

                } finally {

                        try {

                                if (pst != null) {

                                        pst.close();

                                }

                                if (con != null) {

                                        con.close();

                                }

                        } catch (SQLException e) {

                                e.printStackTrace();

                        }

                }

        }

}

 

SigninServlet.java

package com.java4coding;

 

import java.io.IOException;

import java.io.PrintWriter;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import javax.servlet.*;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

public class SigninServlet extends HttpServlet {

        public void doPost(HttpServletRequest req, HttpServletResponse res)

                        throws ServletException, IOException {

                boolean b = false;

                res.setContentType("text/html");

                PrintWriter pw = res.getWriter();

                String strNme = req.getParameter("nme");

                String strPwd = req.getParameter("pwd");

 

                Connection con = null;

                Statement st = null;

                ResultSet rs = null;

               

                try {

                       

                        // Class.forName("com.mysql.jdbc.Driver"); //for mysql versions lesser than 8.0

                        Class.forName("com.mysql.cj.jdbc.Driver");// for mysql version 8.0, this requires java 1.8

                        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/study", "root", "root");

                        st = con.createStatement();

                        rs = st.executeQuery("SELECT NAME,PASSWORD FROM CUSTOMER");

                       

                        while (rs.next()) {

                                if (strNme.equalsIgnoreCase(rs.getString("NAME"))

                                                && strPwd.equalsIgnoreCase(rs.getString("PASSWORD"))) {

                                        b = true;

                                        break;

                                }

                        }

 

                        if (b) {

                                pw.println("<html>");

                                pw.println("<body bgcolor='green'>");

                                pw.println("Hello Mr " + strNme + " you are Welcome");

                                pw.println("</body>");

                                pw.println("</html>");

                        } else {

                                pw.println("<html>");

                                pw.println("<body bgcolor='red'>");

                                pw.println("Hello Mr " + strNme + " you are invalid user");

                                pw.println("</body>");

                                pw.println("</html>");

                        }

 

                } catch (ClassNotFoundException e) {

                        e.printStackTrace();

                } catch (SQLException e) {

                        e.printStackTrace();

                }finally {

                        try {

                                if (rs != null) {

                                        rs.close();

                                }

                                if (st != null) {

                                        st.close();

                                }

                                if (con != null) {

                                        con.close();

                                }

                        } catch (SQLException e) {

                                e.printStackTrace();

                        }

 

                }

        }

}

web.xml

<web-app>

        <servlet>

                <servlet-name>Signup</servlet-name>

                <servlet-class>com.java4coding.SignupServlet</servlet-class>

        </servlet>

 

        <servlet-mapping>

                <servlet-name>Signup</servlet-name>

                <url-pattern>/signup</url-pattern>

        </servlet-mapping>

       

        <servlet>

                <servlet-name>Signin</servlet-name>

                <servlet-class>com.java4coding.SigninServlet</servlet-class>

        </servlet>

 

        <servlet-mapping>

                <servlet-name>Signin</servlet-name>

                <url-pattern>/signin</url-pattern>

        </servlet-mapping>

               

</web-app

Output

servlet-and-database-1
 

SIGNUP

When SIGNUP button is clicked

servlet-and-database-2
 

Enter the details and click on SIGNUP button

servlet-and-database-3
 
servlet-and-database-4
 

Verify the database whether data is inserted or not

servlet-and-database-5
 

SIGIN

When SIGIN button is clicked from home screen

servlet-and-database-6
 

Enter the details and click on SIGNIN

servlet-and-database-7
 
servlet-and-database-8
 

If the entered details are wrong

servlet-and-database-9
 
servlet-and-database-10
 

All Chapters
Author