Web Aplikasi JSP Operasi CRUD
Web Aplikasi JSP Operasi CRUD
June 23, 2013RenLeave a commentGo to comments
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);
}
//
/**
* Handles the HTTP
* GET 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
* POST 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";
}//
}
Pada folder Web Pages buat tiga file .jsp yaitu buku.jsp, edit.jsp, listBuku.jsp
Nama file : buku.jsp
Insert Buku
Add New Record
ID Buku
Judul Buku
Pengarang
Penerbit
Jumlah
View-All-Records
Nama file : edit.jsp
Nama file : listBuku.jsp
List Buku
ID Buku
Judul Buku
Pengarang Buku
Penerbit
Jumlah Buku
Action
Update
Delete
Add Buku
Edit file web.xml yang terletak di folder Configuration File sebagai berikut :
Nama file : web.xml
ServletCRUD
myServlet.ServletCRUD
ServletCRUD
/ServletCRUD
30
buku.jsp
June 23, 2013RenLeave a commentGo to comments
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);
}
//
/**
* Handles the HTTP
* GET 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
* POST 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";
}//
}
Pada folder Web Pages buat tiga file .jsp yaitu buku.jsp, edit.jsp, listBuku.jsp
Nama file : buku.jsp
Insert Buku
Add New Record
ID Buku
Judul Buku
Pengarang
Penerbit
Jumlah
View-All-Records
Nama file : edit.jsp
Nama file : listBuku.jsp
List Buku
ID Buku
Judul Buku
Pengarang Buku
Penerbit
Jumlah Buku
Action
Update
Delete
Add Buku
Edit file web.xml yang terletak di folder Configuration File sebagai berikut :
Nama file : web.xml
ServletCRUD
myServlet.ServletCRUD
ServletCRUD
/ServletCRUD
30
buku.jsp