Home > Java and Web > Web Aplikasi JSP Operasi CRUD

Web Aplikasi JSP Operasi CRUD

Pada post kali ini tentang membuat web aplikasi sederhana menggunakan  JSP. Web aplikasi mempunyai fungsi create, read, update dan delete 1 table.

  • Buat satu table dengan nama tbl_buku terdiri dari 5 kolom yaitu ( id_buku int, judul_buku varchar(25), pengarang varchar(25), penerbit varchar(25), jumlah int )
  • Buat  project Web App dengan NetBeans. New Project -> Java Web 
  • Pada Sources Package buat empat Java Packages yaitu Bean, DAO, myServlet, myUtil.
  • Pada package Bean buat satu kelas Buku. Berikut ini kode javanya.

Nama file : Buku.java


package Bean;

/**
 *
 * @author Kukuh Utama
 */
public class Buku {
    
    private int bukuID;
    private String judul;
    private String pengarang;
    private String penerbit;
    private int jumlah;

    /**
     * @return the bukuID
     */
    public int getBukuID() {
        return bukuID;
    }

    /**
     * @param bukuID the bukuID to set
     */
    public void setBukuID(int bukuID) {
        this.bukuID = bukuID;
    }

    /**
     * @return the judul
     */
    public String getJudul() {
        return judul;
    }

    /**
     * @param judul the judul to set
     */
    public void setJudul(String judul) {
        this.judul = judul;
    }

    /**
     * @return the pengarang
     */
    public String getPengarang() {
        return pengarang;
    }

    /**
     * @param pengarang the pengarang to set
     */
    public void setPengarang(String pengarang) {
        this.pengarang = pengarang;
    }

    /**
     * @return the penerbit
     */
    public String getPenerbit() {
        return penerbit;
    }

    /**
     * @param penerbit the penerbit to set
     */
    public void setPenerbit(String penerbit) {
        this.penerbit = penerbit;
    }

    /**
     * @return the jumlah
     */
    public int getJumlah() {
        return jumlah;
    }

    /**
     * @param jumlah the jumlah to set
     */
    public void setJumlah(int jumlah) {
        this.jumlah = jumlah;
    }
}

  • Pada package myUtil buat satu kelas ConnectionDB.  Berikut ini kode javanya.
  • Nama file : ConnectionDB.java

    package myUtil;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;

    /**
     *
     * @author Kukuh Utama
     */
    public class ConnectionDB {
        private static Connection connection=null;
        
        public static  Connection getConnectionDB(){
             if (connection != null)
                return connection;
            else {
                try {
                    
                    String driver = "com.mysql.jdbc.Driver";
                    String url = "jdbc:mysql://localhost:3306/db_perpustakaan";
                    String user = "root";
                    String password = "";
                    Class.forName(driver);
                    connection = DriverManager.getConnection(url, user, password);
                } catch (ClassNotFoundException ex) {
                    System.out.println(ex);
                } catch (SQLException ex) {
                    System.out.println(ex);
                }
                return connection;
            }

        }
    }

    • Pada package DAO buat satu kelas BukuDao.  Berikut ini kode javanya.

    Nama file : BukuDao.java

    package DAO;
    import java.sql.Connection;
    import java.sql.Statement;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;

    import java.util.List;
    import java.util.ArrayList;

    import Bean.Buku;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import myUtil.ConnectionDB;
    /**
     *
     * @author Kukuh Utama
     */
    public class BukuDao {
        
        private Connection conn;
        
        public BukuDao(){
            conn = ConnectionDB.getConnectionDB();
        }
        
        public void addBuku(Buku buku){
            
            try {
                String insertQuery="insert into tbl_buku(id_buku, judul_buku, pengarang, penerbit, jumlah) values(?,?,?,?,?)";
            
                PreparedStatement prSt = conn.prepareStatement(insertQuery);
                prSt.setInt(1, buku.getBukuID());
                prSt.setString(2, buku.getJudul());
                prSt.setString(3, buku.getPengarang());
                prSt.setString(4, buku.getPenerbit());
                prSt.setInt(5, buku.getJumlah());
                
                prSt.executeUpdate();
            }  catch (SQLException ex) {
                System.out.println(ex.getMessage());
            }
        }
        
        public void deleteBukuById(int bukuID){
            try {
                String deleteQuery="delete from tbl_buku where id_buku=?";
                
                PreparedStatement prSt = conn.prepareStatement(deleteQuery);
                prSt.setInt(1, bukuID);
                
                prSt.executeUpdate();
                
            } catch (SQLException ex) {
                System.out.println(ex.getMessage());
            }
        }
        
        public Buku findBukuById(int bukuID){
            
             Buku buku = new Buku();
             try {
                String deleteQuery="select * from tbl_buku where id_buku=?";
                
                PreparedStatement prSt = conn.prepareStatement(deleteQuery);
                prSt.setInt(1, bukuID);
                
                ResultSet rs = prSt.executeQuery();
                while(rs.next()){
                     buku.setBukuID(bukuID);
                     buku.setJudul(rs.getString(2));
                     buku.setPengarang(rs.getString(3));
                     buku.setPenerbit(rs.getString(4));
                     buku.setJumlah(rs.getInt(5));
                     
                }
                
            } catch (SQLException ex) {
                System.out.println(ex.getMessage());
            }
            return buku;
        }
        
        public void editBuku(Buku buku){
            try {
                String editQuery="update tbl_buku set judul_buku=?, pengarang=?, penerbit=?, jumlah=? where id_buku=?";
                
                PreparedStatement prSt = conn.prepareStatement(editQuery);
                prSt.setString(1, buku.getJudul());
                prSt.setString(2, buku.getPengarang());
                prSt.setString(3, buku.getPenerbit());
                prSt.setInt(4, buku.getJumlah());
                prSt.setInt(5, buku.getBukuID());
                
                prSt.executeUpdate();

            } catch (SQLException ex) {
                System.out.println(ex.getMessage());
            }
        }
        
        public List retrieveBuku(){
            List sbuku = new ArrayList();
            try {
                String retrieveQuery = "select * from tbl_buku";
                Statement st = conn.createStatement();
                ResultSet rs = st.executeQuery(retrieveQuery);
                while(rs.next()){
                     Buku buku = new Buku();
                     buku.setBukuID(rs.getInt(1));
                     buku.setJudul(rs.getString(2));
                     buku.setPengarang(rs.getString(3));
                     buku.setPenerbit(rs.getString(4));
                     buku.setJumlah(rs.getInt(5));
                     sbuku.add(buku);
                     
                }
               
            } catch (SQLException ex) {
                Logger.getLogger(BukuDao.class.getName()).log(Level.SEVERE, null, ex);
            }
             return sbuku;
        }
    }

    • Pada package myServlet buat satu servlet ( New -> Servlet ) dengan nama ServletCRUD Berikut ini kode javanya.

    Nama file : ServletCRUD.java

    package myServlet;

    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 DAO.BukuDao;
    import Bean.Buku;
    import javax.servlet.RequestDispatcher;

    /**
     *
     * @author Kukuh Utama
     */
    public class ServletCRUD extends HttpServlet {

        private static String Insert = "/buku.jsp";
        private static String Edit = "/edit.jsp";
        private static String ListBuku = "/listBuku.jsp";
        
        private BukuDao bukuDao;
        public ServletCRUD (){
            super();
            bukuDao = new BukuDao();
        }
        
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            
            String redirectURL="";
            String id_buku = request.getParameter("id_buku");
            System.out.println("ID Buku"+id_buku);
            String act=request.getParameter("action");
            
            if(id_buku != null && act.equalsIgnoreCase("insert")){
                int id = Integer.parseInt(id_buku);
                Buku buku = new Buku();
                buku.setBukuID(id);
                buku.setJudul(request.getParameter("judul"));
                buku.setPengarang(request.getParameter("pengarang"));
                buku.setPenerbit(request.getParameter("penerbit"));
                buku.setJumlah(Integer.parseInt(request.getParameter("jumlah")));
                
                bukuDao.addBuku(buku);
                redirectURL = ListBuku;
                request.setAttribute("bukus", bukuDao.retrieveBuku());
                System.out.println("Record Added Successfully");
                
            } else if(act.equalsIgnoreCase("delete")) {
                int id = Integer.parseInt(id_buku);
                bukuDao.deleteBukuById(id);
                redirectURL = ListBuku;
                request.setAttribute("bukus", bukuDao.retrieveBuku());
                System.out.println("Record Deleted Successfully");

                
            } else if(act.equalsIgnoreCase("retrieve")){
               redirectURL = ListBuku;
               request.setAttribute("bukus", bukuDao.retrieveBuku());
            }else if (act.equalsIgnoreCase("editform")){         
                    redirectURL = Edit;
            } else if(act.equalsIgnoreCase("update")){
                
                System.out.println("Im Here" +id_buku);
                int id = Integer.parseInt(id_buku);
                Buku buku = new Buku();
                buku.setBukuID(id);
                buku.setJudul(request.getParameter("judul"));
                buku.setPengarang(request.getParameter("pengarang"));
                buku.setPenerbit(request.getParameter("penerbit"));
                buku.setJumlah(Integer.parseInt(request.getParameter("jumlah")));
                
                bukuDao.editBuku(buku);
                request.setAttribute("buku", buku);
                redirectURL = ListBuku;
                System.out.println("Record updated Successfully");

            } else {
                redirectURL= Insert;
            }
            
            
            RequestDispatcher rd = request.getRequestDispatcher(redirectURL);
            rd.forward(request, response);

            }

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

    • Pada folder Web Pages buat tiga file .jsp yaitu buku.jsp, edit.jsp, listBuku.jsp

    Nama file : buku.jsp

    <%--
        Document   : buku
        Created on : Jun 23, 2013, 2:42:33 PM
        Author     : Administrator
    --%>

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Insert Buku</title>
        </head>
        <body>
    <form method="POST" action='ServletCRUD' name="frmAddUser">
    <input type="hidden" name="action" value="insert" />
        <p><b>Add New Record</b></p>
        <table>
        <tr>
            <td>ID Buku</td>
            <td><input type="text" name="id_buku" /></td>
        </tr>
        <tr>
            <td>Judul Buku</td>
            <td><input type="text" name="judul" /></td>
        </tr>
        <tr>
             <td>Pengarang</td>
             <td><input type="text" name="pengarang" /></td>
        </tr>
        <tr>
             <td>Penerbit</td>
             <td><input type="text" name="penerbit" /></td>
        </tr>
         
         <tr>
             <td>Jumlah</td>
             <td><input type="text" name="jumlah" /></td>
         </tr>
         <tr>
             <td></td>
              <td><input type="submit" value="Submit" /></td>
         </tr>
    </table>
    </form>
    <p><a href="ServletCRUD?action=retrieve">View-All-Records</a></p>
    </body>
    </html>

    Nama file : edit.jsp

    <%--
        Document   : edit
        Created on : Jun 23, 2013, 2:59:22 PM
        Author     : Kukuh Utama
    --%>

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%@page import="Bean.Buku"%>
    <%@page import="DAO.BukuDao"%>

    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Edit Buku</title>
        </head>
        <body>
            <%
              Buku buku = new Buku();
              BukuDao bukuDao = new BukuDao();
            %>
            
            <form method="POST" action='ServletCRUD' name="frmEditBuku">
            <input type="hidden" name="action" value="update" />
            <%
             String id_buku = request.getParameter("id_buku");
             if (!((id_buku) == null)) {
                 int id = Integer.parseInt(id_buku);
                 buku = bukuDao.findBukuById(id);
            %>
          <table>
             <tr>
                <td>ID Buku</td>
                <td><input type="text" name="id_buku" readonly="readonly" value="<%=buku.getBukuID() %>"></td>
             </tr>
             <tr>
                  <td>Judul Buku</td>
                  <td><input type="text" name="judul" value="<%=buku.getJudul()%>"></td>
             </tr>
             <tr>
                  <td>Pengarang</td>
                  <td><input type="text" name="pengarang" value="<%=buku.getPengarang()%>"></td>
             </tr>
             <tr>
                  <td>Penerbit</td>
                  <td><input type="text" name="penerbit" value="<%=buku.getPenerbit()%>"></td>
             </tr>
             
              <tr>
                  <td>Jumlah</td>
                  <td><input type="text" name="jumlah" value="<%=buku.getJumlah()%>"></td>
             </tr>
            <tr>
            <td></td>
              <td><input type="submit" value="Update" /></td>
            </tr>
    </table>
    <%
    } else
    out.println("ID Not Found");
    %>
    </form>

        </body>
    </html>

    Nama file : listBuku.jsp

    <%--
        Document   : listBuku
        Created on : Jun 23, 2013, 4:30:16 PM
        Author     : Kukuh Utama
    --%>

    <%@page import="java.util.List"%>
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%@page import="Bean.Buku"%>
    <%@page import="DAO.BukuDao"%>
    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>List Buku</title>
        </head>
        <body>
            <%
             BukuDao bukuDao = new BukuDao();
             List <Buku> listBuku = bukuDao.retrieveBuku();                
            %>
        <table border="1">
    <tr>
         <th>ID Buku</th>
         <th>Judul Buku</th>
         <th>Pengarang Buku</th>
         <th>Penerbit</th>
         <th>Jumlah Buku</th>
         <th colspan="2"> Action </th>
    </tr>
    <tr>
    <%

    for (Buku buku : listBuku) {
    %>
    <td><%=buku.getBukuID() %></td>
    <td><%=buku.getJudul() %></td>
    <td><%= buku.getPengarang() %></td>
    <td><%= buku.getPenerbit() %></td>
    <td><%= buku.getJumlah()%></td>
    <td><a href="ServletCRUD?action=editform&id_buku=<%=buku.getBukuID() %>">Update</a></td>
    <td><a href="ServletCRUD?action=delete&id_buku=<%=buku.getBukuID() %>">Delete</a></td>

    </tr>
    <%
    }
    %>
    </table>
    <p><a href="ServletCRUD?action=insert">Add Buku</a></p>

    </body>
    </html>

    • Edit file web.xml yang terletak di folder Configuration File  sebagai berikut :

    Nama file : web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
        <servlet>
            <servlet-name>ServletCRUD</servlet-name>
            <servlet-class>myServlet.ServletCRUD</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>ServletCRUD</servlet-name>
            <url-pattern>/ServletCRUD</url-pattern>
        </servlet-mapping>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>buku.jsp</welcome-file>
        </welcome-file-list>
    </web-app>

    Berikut ini screen shoot struktur direktori project tersebut :

    WebApps Dir

    Semoga bermanfaat.🙂

    P.S.

    Pastikan library untuk connection mysql sudah ditambahkan kedalam project.

    Pastikan user, password dan nama database pada kelas ConnectionDB sudah disesuaikan.

    1. July 7, 2013 at 18:36

      bisa share cara koneksi jsp dengan mysql dan kalo bisa sekalian dengan penjelasannya

    2. Ren
      July 8, 2013 at 04:34

      Koneksi JSP dan mysql? isinya sama dengan ConnectionDB.java

    3. May 18, 2016 at 08:32

      thank you so much (y) (y) .🙂 good

    4. joko
      July 1, 2016 at 17:15

      Artikelnya Mantap

    1. No trackbacks yet.

    Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out / Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out / Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out / Change )

    Google+ photo

    You are commenting using your Google+ account. Log Out / Change )

    Connecting to %s

    %d bloggers like this: