Anda di halaman 1dari 23

MEMBUAT APLIKASI CRUD

JAVA SERVLET

ANGGOTA KELOMPOK :
 18360009 – NOVRESA DWI YUDANTI
 18360010 – RAHMA DWI WAHYUNI
 18360021 – RANDY IKHSAN RAMADHAN
 18360040 – M. DIKI IKHSANUDIN

PEMROGRAMAN INTERNET
Teknik Informatika
Insitut Sains dan Teknologi Nasional
Tutorial Membuat Aplikasi CRUD (Java Web)

1. Buka aplikasi XAMPP, lalu jalankan Module Apache dan MySQL.

2. Buka browser, kemudian ketik localhost/phpmyadmin di kolom URL.

3. Klik New untuk membuat database baru.

4. Pada kolom Create database isikan nama database (contoh: javaservlet), kemudian klik
Create.

2
5. Isi nama tabel database yang ingin dibuat (contoh: user), kemudian klik Go.

6. Isi tabel database, kemudian klik Save.

7. Buka aplikasi NetBeans IDE, klik tab File, lalu pilih New Project.
Kemudian pilih kategori Java Web dan pilih project Web Application, lalu klik Next.

3
8. Isi nama project (contoh: Kelompok_CRUD), kemudian klik Next.

9. Tentukan Server (contoh: GlassFish Server 4.1.1) dan Java EE Version (contoh: Java EE 7
Web), kemudikan klik Next.

4
10. Tentukan Frameworks, kemudian klik Finish.

11. Buka index.html, kemudian isi dengan kode program seperti berikut.

<html>
<head>
<title>Register Account</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="./images/fesbuk.png" rel="shortcut icon">
<style>a{text-decoration:none}</style>
</head>

5
<body bgcolor="lightblue" link="darkblue" alink="darkblue" vlink="darkblue">
<h1>Register Account</h1>
<div class="wrapper">
<form action="SaveServlet" method="post">
<table border="0">
<tr>
<td>Name :</td>
<td><input type="text" name="name" size="30"></td>
</tr>
<tr>
<td>Password :</td>
<td><input type="password" name="password" size="30"></td>
</tr>
<tr>
<td>Email :</td>
<td><input type="email" name="email" size="30"></td>
</tr>
<tr>
<td>Country :</td>
<td><select name="country">
<option>Indonesia</option>
<option>Timor Leste</option>
<option>Malaysia</option>
<option>Singapore</option>
<option>Brunei Darussalam</option>
<option>Cambodia</option>
<option>Thailand</option>
<option>Philippines</option>
<option>Vietnam</option>
<option>Laos</option>
<option>Myanmar</option>
</select>
</td>

6
</tr>
<tr>
<td><input type="submit" value="REGISTER"></td>
</tr>
</table>
</form>
<a href='./ViewServlet'>View All Accounts</a>
</div>
</body>
</html>

12. Klik kanan pada <default package>, kemudian pilih New, lalu pilih Servlet.

7
13. Isi Class Name, kemudian klik Next.

14. Klik kolom centang () pada tulisan Add information to deployment descriptor
(web.xml), kemudian klik Finish.

8
15. Ulangi langkah 12 sampai 14 untuk membuat file servlet lainnya hingga seperti berikut.

16. Buka Emp.java, kemudian isi dengan kode program sebagai berikut.
public class Emp {
private int id;
private String name, password, email, country;

public int getId() {


return id;
}

public void setId(int id) {


this.id = id;
}
public String getName() {
return name;
}

public void setName(String name) {


this.name = name;
}

9
public String getPassword() {
return password;
}

public void setPassword(String password) {


this.password = password;
}

public String getEmail() {


return email;
}

public void setEmail(String email) {


this.email = email;
}

public String getCountry() {


return country;
}

public void setCountry(String country) {


this.country = country;
}
}

17. Buka EmpDao.java, kemudian isi dengan kode program sebagai berikut.
import java.util.*;
import java.sql.*;

public class EmpDao {

10
//connect to mysql
public static Connection getConnection(){
Connection con=null;
try{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost/javaservlet","root","");
}catch(Exception e){System.out.println(e);}
return con;
}

//save data
public static int save(Emp e){
int status=0;
try{
Connection con=EmpDao.getConnection();
PreparedStatement ps=con.prepareStatement(
"insert into user(name,password,email,country) values (?,?,?,?)");
ps.setString(1,e.getName());
ps.setString(2,e.getPassword());
ps.setString(3,e.getEmail());
ps.setString(4,e.getCountry());

status=ps.executeUpdate();

con.close();
}catch(Exception ex){ex.printStackTrace();}

return status;
}
//menghapus data di database
public static int delete(int id){
int status=0;

11
try{
Connection con=EmpDao.getConnection();
PreparedStatement ps=con.prepareStatement(
"update user set name=?,password=?,email=?,country=? where id=?");
ps.setString(1,e.getName());
ps.setString(2,e.getPassword());
ps.setString(3,e.getEmail());
ps.setString(4,e.getCountry());
ps.setInt(5,e.getId());

status=ps.executeUpdate();

con.close();
}catch(Exception ex){ex.printStackTrace();}

return status;
}

//menghapus data di database


public static int delete(int id){
int status=0;
try{
Connection con=EmpDao.getConnection();
PreparedStatement ps=con.prepareStatement("delete from user where id=?");
ps.setInt(1,id);
status=ps.executeUpdate();

con.close();
}catch(Exception e){e.printStackTrace();}
return status;
}

12
//menampilkan data berdasarkan id
public static Emp getAccountById(int id){
Emp e=new Emp();
try{
Connection con=EmpDao.getConnection();
PreparedStatement ps=con.prepareStatement("select * from user where id=?");
ps.setInt(1,id);
ResultSet rs=ps.executeQuery();
if(rs.next()){
e.setId(rs.getInt(1));
e.setName(rs.getString(2));
e.setPassword(rs.getString(3));
e.setEmail(rs.getString(4));
e.setCountry(rs.getString(5));
}
con.close();
}catch(Exception ex){ex.printStackTrace();}

return e;
}

public static List<Emp> getAllAccounts(){


List<Emp> list=new ArrayList<Emp>();

try{
Connection con=EmpDao.getConnection();
PreparedStatement ps=con.prepareStatement("select * from user");
ResultSet rs=ps.executeQuery();
while(rs.next()){
Emp e=new Emp();

13
e.setId(rs.getInt(1));
e.setName(rs.getString(2));
e.setPassword(rs.getString(3));
e.setEmail(rs.getString(4));
e.setCountry(rs.getString(5));
list.add(e);
}
con.close();
}catch(Exception e){e.printStackTrace();}

return list;
}
}

18. Buka SaveServlet.java, kemudian isi dengan kode program sebagai berikut.
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;

public class SaveServlet extends HttpServlet {


protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
String name = request.getParameter("name");
String password = request.getParameter("password");
String email = request.getParameter("email");
String country = request.getParameter("country");

14
Emp e = new Emp();
e.setName(name);
e.setPassword(password);
e.setEmail(email);
e.setCountry(country);

int status = EmpDao.save(e);


if(status>0) {
out.println("<p>Account successfully registered.</p>");
request.getRequestDispatcher("index.html").include(request, response);
} else {
out.println("<p>Sorry, account cannot registered successfully.</p>");
}
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 {
processRequest(request, response);
}

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

19. Buka ViewServlet.java, kemudian isi dengan kode program sebagai berikut.
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

16
@WebServlet("/ViewServlet")
public class ViewServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.print("<head>");
out.print("<link href=\"./images/fesbuk.png\" rel=\"shortcut icon\">");
out.print("<title>Registered Account</title>");
out.print("<style>");
out.print("a{");
out.print("text-decoration:none");
out.print("}");
out.print("</style>");
out.print("</head>");
out.print("<body bgcolor=\"lightblue\" link=\"darkblue\" alink=\"darkblue\"
vlink=\"darkblue\">");
out.println("<h1 align=center>Registered Account</h1>");

List<Emp> list = EmpDao.getAllAccounts();

out.print("<div class='view-wrapper'>");
out.print("<table border='1' width='100%'");
out.print("<tr><th bgcolor=white>ID</th><th bgcolor=white>Name</th><th
bgcolor=white>Password</th><th bgcolor=white>Email</th><th
bgcolor=white>Country</th><th bgcolor=white>Edit</th><th bgcolor=white>Delete</th></tr>");
for (Emp e : list) {
out.print("<tr><td align=center>" + e.getId() + "</td><td align=center>" + e.getName() +
"</td><td align=center>" + e.getPassword() + "</td><td align=center>" + e.getEmail() +
"</td><td align=center>" + e.getCountry() + "</td><td align=center><a href='EditServlet?id=" +
e.getId() + "'>EDIT</a></td><td align=center><a href='DeleteServlet?id=" + e.getId() +
"'>DELETE</a></td></tr>");
}

17
out.print("</table>");
out.println("<a href='index.html'>Register Account</a>");
out.print("</div>");
out.print("</body>");
out.close();
}
}

20. Buka EditServlet.java, kemudian isi dengan kode program sebagai berikut.
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/EditServlet")
public class EditServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.print("<head>");
out.print("<title>Edit Account</title>");
out.print("<link href=\"./images/fesbuk.png\" rel=\"shortcut icon\">");
out.print("<style>a{text-decoration:none}</style>");
out.print("</head>");
out.println("<h1>Edit Account</h1>");
String sid = request.getParameter("id");

int id = Integer.parseInt(sid);

18
Emp e = EmpDao.getAccountById(id);

out.print("<body bgcolor=\"lightblue\" link=\"darkblue\" alink=\"darkblue\"


vlink=\"darkblue\"");
out.print("<div class='wrapper'>");
out.print("<form action='EditServlet2' method='post'>");
out.print("<table>");
out.print("<tr>");
out.print("<td>");
out.print("</td>");
out.print("<td><input type='hidden' name='id' size=\"30\" value='" + e.getId() + "'/>");
out.print("</td>");
out.print("</tr>");
out.print("<tr>");
out.print("<td>Name:</td>");
out.print("<td><input type='text' name='name' size=\"30\" autofocus value='" + e.getName()
+ "'/></td>");
out.print("</tr>");
out.print("<tr>");
out.print("<td>Password:</td>");
out.print("<td><input type='password' name='password' size=\"30\" value='" +
e.getPassword() + "'/></td>");
out.print("</tr>");
out.print("<tr>");
out.print("<td>Email:</td>");
out.print("<td><input type='email' name='email' size=\"30\" value='" + e.getEmail() +
"'/></td></tr>");
out.print("<tr><td>Country:</td><td>");
out.print("<select name='country'>");
out.print("<option>Indonesia</option>");
out.print("<option>Timor Leste</option>");
out.print("<option>Malaysia</option>");
out.print("<option>Singapore</option>");

19
out.print("<option>Brunei Darussalam</option>");
out.print("<option>Cambodia</option>");
out.print("<option>Thailand</option>");
out.print("<option>Philippines</option>");
out.print("<option>Vietnam</option>");
out.print("<option>Laos</option>");
out.print("<option>Myanmar</option>");
out.print("</select>");
out.print("</td>");
out.print("</tr>");
out.print("<tr>");
out.print("<td><input type='submit' value='SAVE'/></td>");
out.print("</tr>");
out.print("</table>");
out.print("<a href='./ViewServlet'>Back</a>");
out.print("</form>");
out.print("</div>");
out.print("</body>");
out.close();
}
}

21. Buka EditServlet2.java, kemudian isi dengan kode program sebagai berikut.
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

20
@WebServlet("/EditServlet2")
public class EditServlet2 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out=response.getWriter();

String sid=request.getParameter("id");
int id=Integer.parseInt(sid);
String name=request.getParameter("name");
String password=request.getParameter("password");
String email=request.getParameter("email");
String country=request.getParameter("country");

Emp e=new Emp();


e.setId(id);
e.setName(name);
e.setPassword(password);
e.setEmail(email);
e.setCountry(country);

int status=EmpDao.update(e);
if(status>0){
response.sendRedirect("ViewServlet");
}
else{
out.println("<p>Sorry, account cannot edited successfully.</p>");
}
out.close();
}
}

21
22. Buka EditServlet2.java, kemudian isi dengan kode program sebagai berikut.
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/DeleteServlet")
public class DeleteServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String sid=request.getParameter("id");
int id=Integer.parseInt(sid);
EmpDao.delete(id);
response.sendRedirect("ViewServlet");
}
}

22
HASIL
 Halaman Register Account

 Halaman Edit Account

 Halaman Registered Account

23

Anda mungkin juga menyukai