Koneksi Servlet Java pada database MySQL menggunakan IDE NetBeans 6.8
Posted by RYP-TheShadow | Posted in Pemrograman | Posted on 02.56
Dosen : Dadan Nurdin Bagenda
Pengenalan Netbeans
NetBeans IDE adalah sebuah lingkungan pengembangan - sebuah kakas untuk pemrogram menulis, mengompilasi, mencari kesalahan dan menyebarkan program. Netbeans IDE ditulis dalam Java - namun dapat mendukung bahasa pemrograman lain. Terdapat banyak modul untuk memperluas Netbeans IDE. Netbeans IDE adalah sebuah produk bebas dengan tanpa batasan bagaimana digunakan. Dengan kata lain Netbeans IDE(Integrated Development Environment) suatu tools untuk mengetikkan program, mengcompile, menjalankan, debuging, yang terintegrasi dengan bahasa pemrogramannya sehingga mempunyai fasilitas code completion, syntax highlighting dan masih banyak lagi.
Pengenalan Servlet
Servlet adalah sebuah class dalam bahasa pemgrograman Java yang digunakan untuk meningkatkan kapabilitas dari server sebagai host dari aplikasi yang diakses melalui request-response programming model(Diadaptasi dari tutorial J2EE). Servlet adalah sebuah class java yang meng-implement interface Servlet dan menerima request yang berasal dari class Java, web client, atau servlet lain yang membangkitkan response. "Servlet" juga dipanggil sebagai HTTP Servlet. Hal ini disebakan karena servlets biasanya digunakan dengan HTTP, akan tetap servlet bukanlah merupakan salah satu spesifikasi spesifik dari protokol client-server.
Untuk memulai pembuatan servlet. Anda diharapkan mengerti mengenai pemrograman, konsep client-server, dasar-dasar HTML dan HTTP (Hyper Text Transfer Protocol). Untuk menciptakan sebuah servlet, Anda perlu untuk meng-import standard extension class dari javax.servlet dan javax.servlet.http ke program java Anda. Javax.servlet berisi framework dasar servlet dimana javax.servlet.http digunakan sebagai ekstensi dari framework servlet bagi servlet yang akan menjawab HTTP request.
Servlet mampu untuk :
Untuk membuat Servlet, ada Class-class pada package berikut yang harus di-import :
Dalam pembuatannya yaitu untuk mengkoneksikan Java dengan database MySQL dimulai dengan langkah-langkah berikut ini...
Langkah pertama : Buka NetBeans - Pilih File – New Project, kemudian muncul window seperti dibawah ini.
Langkah-langkah Koneksi.
3. Struktur Class & Package (SRC)
Berikut ini adalah listing coding yang digunakan.
customer.java (POJO / Beans)
public class Customer {
private long id;
private String nama;
public Customer() {
}
/**
* @return the id
*/
public long getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(long id) {
this.id = id;
}
/**
* @return the nama
*/
public String getNama() {
return nama;
}
/**
* @param nama the nama to set
*/
public void setNama(String nama) {
this.nama = nama;
}
}
CustomerServlet.java (Servlet, alias / urlpattern = customer)
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
RequestDispatcher dis = null;
DBUtil dbUtil = new DBUtil();
List<Customer> customers = new ArrayList<Customer>();
CustomerDAO custDAO = new CustomerImpl(dbUtil.getConn());
try {
customers = custDAO.getCustomers();
System.out.println("size na : " + customers.size());
int j = 0;
while (j < customers.size()) {
System.out.println("data ke " + j + customers.get(j).getId() + " | " + customers.get(j).getNama());
j++;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
dbUtil.closeConn();
}
dis = request.getRequestDispatcher("/index.jsp");
request.setAttribute("customers", customers);
dis.forward(request, response);
}
DBUtil.java (Kelas Koneksi Utility ke Database MySQL)
public class DBUtil {
private Connection conn = null;
public DBUtil() {
String URL = "jdbc:mysql://localhost:3306/db_pbo";
String USER = "root";
String PASSWD = "toor";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
this.conn = DriverManager.getConnection(URL, USER, PASSWD);
} catch (Exception e) {
System.out.println("Error when konakting: ");
e.printStackTrace();
}
}
/**
* @return the conn
*/
public Connection getConn() {
return conn;
}
public void closeConn() {
if (this.conn != null) {
try {
this.conn.close();
} catch (Exception e) {
Logger.getLogger(DBUtil.class.getName()).log(Level.SEVERE, null, e);
}
}
}
}
CustomerDAO.java (Interface)
public interface CustomerDAO {
public void insert(Customer customer)throws Exception;
public void delete(long id)throws Exception;
public void update(long oldId, Customer customer)throws Exception;
public Customer getCustomer(long id)throws Exception;
public List<Customer> getCustomers()throws Exception;
public Customer login(String username)throws Exception;
}
CustomerImpl.java (Implementasi Interface CustomerDAO)
public class CustomerImpl implements CustomerDAO {
private Connection conn;
public CustomerImpl(Connection conn) {
this.conn = conn;
}
public void insert(Customer customer) throws Exception {
String sql = "insert into customer(nama) values(?)";
PreparedStatement st = this.conn.prepareStatement(sql);
st.setString(1, customer.getNama());
st.executeUpdate();
st.close();
}
public void delete(long id) throws Exception {
String sql = "delete from customer WHERE id=?";
PreparedStatement st = this.conn.prepareStatement(sql);
st.setLong(1, id);
st.executeUpdate();
st.close();
}
public void update(long oldId, Customer customer) throws Exception {
String sql = "update customer set nama=? where id=?";
PreparedStatement st = this.conn.prepareStatement(sql);
st.setString(1, customer.getNama());
st.setLong(2, customer.getId());
}
public Customer getCustomer(long id) throws Exception {
Customer customer = null;
String sql = "select id, nama from customer where id=?";
PreparedStatement st = this.conn.prepareStatement(sql);
st.setLong(1, id);
ResultSet rs = st.executeQuery();
if (rs.next()) {
customer = new Customer();
customer.setId(id);
customer.setNama(rs.getString(2));
}
return customer;
}
public List<Customer> getCustomers() throws Exception {
List<Customer> customers = new ArrayList<Customer>();
String sql = "select id, nama from customer";
PreparedStatement st = this.conn.prepareStatement(sql);
ResultSet rs = st.executeQuery();
while (rs.next()) {
Customer customer = new Customer();
customer.setId(rs.getLong(1));
customer.setNama(rs.getString(2));
customers.add(customer);
}
return customers;
}
public Customer login(String username) throws Exception {
throw new UnsupportedOperationException("Not supported yet.");
}
}
Index.jsp (View untuk menampilkan data customer)
//
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>
<c:out value="testing"/>
</h1>
<ul>
<c:forEach items="${customers}" var="cust">
<li>${cust.nama}</li>
</c:forEach>
</ul>
</body>
</html>
Referensi:
1. http://www.diskusiweb.com/
Comments (0)
Posting Komentar