Search This Blog

Monday, 26 February 2024

Ex. 8 - Servlet Retrieving Data from a MySQL Database

0 comments

Web Technologies Lab

(Experiment 8)





import java.io.IOException;

import java.io.PrintWriter;

import java.sql.*;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


/**

 *

 * @author Eben Priya David

 */

@WebServlet(name = "MyServlet", urlPatterns = {"/MyServlet"})

public class MyServlet extends HttpServlet {


    /**

     * Processes requests for both HTTP

     * <code>GET</code> and

     * <code>POST</code> methods.

     *

     * @param request servlet request

     * @param response servlet response

     * @throws ServletException if a servlet-specific error occurs

     * @throws IOException if an I/O error occurs

     */

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException, ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {

        

        Connection conn = null;

        String url = "jdbc:mysql://127.0.0.1:3306/";

        String dbName = "test";

        Statement stmt = null;

        ResultSet result = null;

        String driver = "com.mysql.jdbc.Driver";

        String dbUser = "root";

        String dbPW = "";

            

        response.setContentType("text/html;charset=UTF-8");

        PrintWriter out = response.getWriter();

        try {

            /*

             * TODO output your page here. You may use following sample code.

             */

        Class.forName(driver).newInstance();

        conn = DriverManager.getConnection(url + dbName, dbUser, dbPW);      

        stmt = conn.createStatement();

        result = null;

        String empname, empcity, empstate;

        result = stmt.executeQuery("Select * from employee");

        String emp_Name, emp_City, emp_State;

            out.println("<html>");

            out.println("<head>");

            out.println("<title>Servlet MyServlet</title>");            

            out.println("</head>");

            out.println("<body>");

            out.println("<h1>Servlet MyServlet at " + request.getContextPath() + "</h1>");

        

               while (result.next()) 

               {

                     empname = result.getString(2);

                     out.println("<h3>" + empname + "</h3><br/>");

               }

            

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

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

        } finally {            

            out.close();

        }

    }


    // <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 {

        try {

            processRequest(request, response);

        } catch (ClassNotFoundException ex) {

            Logger.getLogger(MyServlet.class.getName()).log(Level.SEVERE, null, ex);

        } catch (InstantiationException ex) {

            Logger.getLogger(MyServlet.class.getName()).log(Level.SEVERE, null, ex);

        } catch (IllegalAccessException ex) {

            Logger.getLogger(MyServlet.class.getName()).log(Level.SEVERE, null, ex);

        } catch (SQLException ex) {

            Logger.getLogger(MyServlet.class.getName()).log(Level.SEVERE, null, ex);

        }

    }


    /**

     * 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 {

        try {

            processRequest(request, response);

        } catch (ClassNotFoundException ex) {

            Logger.getLogger(MyServlet.class.getName()).log(Level.SEVERE, null, ex);

        } catch (InstantiationException ex) {

            Logger.getLogger(MyServlet.class.getName()).log(Level.SEVERE, null, ex);

        } catch (IllegalAccessException ex) {

            Logger.getLogger(MyServlet.class.getName()).log(Level.SEVERE, null, ex);

        } catch (SQLException ex) {

            Logger.getLogger(MyServlet.class.getName()).log(Level.SEVERE, null, ex);

        }

    }


    /**

     * Returns a short description of the servlet.

     *

     * @return a String containing servlet description

     */

    @Override

    public String getServletInfo() {

        return "Short description";

    }// </editor-fold>

}


Leave a Reply