JDBC using JSP and Servlet

4
JDBC means Java Database Connectivity ,It is intermediates from Application to database.

JDBC has different type of divers and provides to communicate from database server.

JDBC contain four different type of approach to communicate with Database

Type 1:-

JDBC-ODBC Driver

Type2:-

JDBC Vendor specific

Type3 :-

JDBC Network Specific

Type4:-

JDBC Client-Server based Driver  or JAVA thin driver:-

Mostly we prefer Type 4 type of Driver to communicate with database server.
Step for JDBC:-
1  Create Database using MYSQL ,ORACLE ,MS-SQL or any other database
2   Create Table using database server
3   Create Form according to database table
4  Submit Form and get form data into servlet
5  write JDBC Code:-
    5.1)   import package    import java.sql.*
    5.2)  Add JDBC Driver according to database ide tools
    5.3)  call driver in program
            Class.forName("com.mysql.jdbc.Driver");
   5.4)  Manage Connection String
           Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/databsename","root","");
  5.5)   Manage Statement to write SQL Query
         Statement ref = con.createStatement()
 5.6)  Execute SQL Query  IF perform Insert,update or delete
         int var = ref.executeUpdate("SQL QUERY");
5.7 )  Execute SQL Query if perform Select Operation
        ResultSet res = ref.executeQuery("Select Query");
       display record of Select
       while(res.next())
       {
             out.print(res.getInteger(1)+ " "+res.getString(2));
       }     
       
....................................................................................................................................

Create Registration Form Using JSP And Servelet:-
Code of Register.jsp page:-
<%--
    Document   : RegisterForm
    Created on : Oct 14, 2019, 10:16:53 AM
    Author     : DELL
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <form action="RegSer" method="post">
              <p>Enter emailid</p>
            <p><input type="email" name="txtemail" required=""  /> </p>
            <p>Enter password</p>
            <p><input type="password" name="txtpass" required=""  /> </p>
            <p>Enter mobileno</p>
            <p><input type="number" name="txtmobile"  required="" /> </p>
            <p>Enter fullname</p>
            <p><input type="text" name="txtfname" required="" /> </p>
            <p><input type="submit" name="btnsubmit" value="Click" /></p>
             
        </form>
    </body>
</html>
Code of Servlet :-
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;

/**
 *
 * @author DELL
 */
public class RegSer extends HttpServlet {
       protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try  {
            String email = request.getParameter("txtemail");
            String pass = request.getParameter("txtpass");
            String mobile = request.getParameter("txtmobile");
            String fname = request.getParameter("txtfname");
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/javadb","root","");
            Statement st = con.createStatement();
            int res = st.executeUpdate("INSERT INTO `reg` (`email`, `password`, `mobile`, `fullname`) VALUES ('"+email+"', '"+pass+"', '"+mobile+"', '"+fname+"')");
            if(res!=0)
            {
                out.print("data inserted successfully");
            }          
               }
        catch(Exception ex)
        {
            out.print(ex.getMessage().toString());
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }
    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
Program code for Login.jsp:-
<%--
    Document   : Login
    Created on : Oct 15, 2019, 9:55:12 AM
    Author     : DELL
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
         <form action="LoginSer" method="post">
         
            <p>Enter emailid</p>
            <p><input type="email" name="txtemail" required=""  /> </p>
            <p>Enter password</p>
            <p><input type="password" name="txtpass" required=""  /> </p>
            <p><input type="submit" name="btnsubmit" value="Login" /> </p>
         </form>
         <%
          if(request.getParameter("q")!=null)
          {
              out.print(request.getParameter("q"));
          }           
           
          %>
          <br>
          <br>
        <a href="RegisterForm.jsp">New User Register Here</a>
    </body>
</html>
Program code for LoginSer 
 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
           String email = request.getParameter("txtemail");
           String pass = request.getParameter("txtpass");
           Class.forName("com.mysql.jdbc.Driver");
           Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/javadb","root","");
           Statement st = con.createStatement();
            ResultSet res = st.executeQuery("select * from  `reg`  where `email`='"+email+"' and  `password`='"+pass+"'");
           if(res.next())
            {
                HttpSession session=request.getSession();
                session.setAttribute("suid",email);
                response.sendRedirect("UserDashboard.jsp");
            }
           else
           {
               response.sendRedirect("Login.jsp?q="+"Invalid userid and password");
           }
        }
        catch(Exception ex)
        {
            
        }
    }
Create UserDashboard.jsp
<%-- 
    Document   : UserDashboard
    Created on : Oct 15, 2019, 10:00:09 AM
    Author     : DELL
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page  import="java.sql.*" %>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <a href="LogoutSer">Logout</a>
        <%
            if(session.getAttribute("suid")==null)
            {
                response.sendRedirect("Login.jsp");
            }
            
         %>   
        <h1>Welcome in <%=  session.getAttribute("suid")   %> In Dashboard</h1>
        
        <%
         String email= (String) session.getAttribute("suid");
         Class.forName("com.mysql.jdbc.Driver");
         Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/javadb","root","");
         Statement st = con.createStatement();
         ResultSet res = st.executeQuery("select * from reg where email='"+email+"'");
         if(res.next())
         {
         
        %>
        <p>Email Id is :  <%= res.getString(1)   %> </p>
        <p>Password Id is :  <%= res.getString(2)   %> </p>
        <p>Mobile no is :  <%= res.getString(3)   %> </p>
        <p>Fullname is :  <%= res.getString(4)   %> </p>
        
        <%
         }
         %>
    </body>
</html>
create LogoutSer.java:-
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
           HttpSession session = request.getSession();
           session.removeAttribute("suid");
           response.sendRedirect("Login.jsp");
        }
    }

Post a Comment

4Comments

POST Answer of Questions and ASK to Doubt

Post a Comment