Web Aplikasi JSP Operasi CRUD
June 23, 2013RenLeave a commentGo to commentsPada 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 */
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 DAObuat 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;
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.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) {
ex); }
return sbuku; }
}
Pada package myServletbuat 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.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
* @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>
<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
Nama file : listBuku.jsp
<%--
Document : listBuku
Created on : Jun 23, 2013, 4:30:16 PM Author : Kukuh Utama
--%>
<%@page import="java.util.List"%>
<%@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"?>
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>