♠ Posted by Unknown in J2EE
Latihan dasar JEE #1
Pada J2EE terdapat 2 methos pangalihan resposse:
Request Dispacher
Kali ini saya akan mencoba membuat sebuah form login sederhana. Disini terdapat dua buah inputtan, yaitu:
apabila pada baris 'dis.include(request, response);' login.java(servlet) diganti dengan 'dis.forward(request, response);' tulisan login salah tidak akan include ke login.
Send Direct
untuk penggunaan method sendDirect kita tinggal ganti login.java (servlet) jadi seperti :
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String username= request.getParameter("nama");
String password= request.getParameter("pass");
//RequestDispatcher dis=null;
if(username.equalsIgnoreCase("admin")&&password.equals("admin")){
//dis= request.getRequestDispatcher("/admin.jsp");
response.sendRedirect("admin.jsp");
}else if(username.equalsIgnoreCase("user")&&password.equals("user")){
//dis =request.getRequestDispatcher("/user.jsp");
response.sendRedirect("user.jsp");
}else{
out.println("Login Salah");
//dis = request.getRequestDispatcher("/index.jsp");
response.sendRedirect("index.jsp");
}
//dis.forward(request, response);
}
Perbedaan Pengalihan response dengan method Dispacher dan sendDirect adalah terdapat pada tampilan url di Browser......
Pada J2EE terdapat 2 methos pangalihan resposse:
- RequestDispacher
- Send Direct
Request Dispacher
Kali ini saya akan mencoba membuat sebuah form login sederhana. Disini terdapat dua buah inputtan, yaitu:
1. namauser
2. password
apabila user masuk sebagai admin maka akan dialihkan ke admin.jsp, apabia user memasukkan salah maka akan di alihkan kembali ke halaman login
index.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>login</h1>
<form action="LoginDispacher" method="POST">
<fieldset>
UserName : <input type="text" name="nama" value="" />
</fieldset>
<fieldset>
Password : <input type="password" name="pass" value="" />
</fieldset>
<fieldset>
<input type="submit" value="Login" />
</fieldset>
</form>
</body>
</html>
admin.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Halaman Admin</title>
</head>
<body>
<h1> Anda Login sebagai "Admin"</h1>
</body>
</html>
user.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>User Page</title>
</head>
<body>
<h1>Anda login sebagai "Users"</h1>
</body>
</html>
Login.java ---> servlet
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String username= request.getParameter("nama");
String password= request.getParameter("pass");
RequestDispatcher dis=null;
if(username.equalsIgnoreCase("admin")&&password.equals("admin")){
dis= request.getRequestDispatcher("/admin.jsp");
}else if(username.equalsIgnoreCase("user")&&password.equals("user")){
dis =request.getRequestDispatcher("/user.jsp");
}else{
out.println("Login Salah");
dis = request.getRequestDispatcher("/index.jsp");
}
dis.include(request, response);
}
Send Direct
untuk penggunaan method sendDirect kita tinggal ganti login.java (servlet) jadi seperti :
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String username= request.getParameter("nama");
String password= request.getParameter("pass");
//RequestDispatcher dis=null;
if(username.equalsIgnoreCase("admin")&&password.equals("admin")){
//dis= request.getRequestDispatcher("/admin.jsp");
response.sendRedirect("admin.jsp");
}else if(username.equalsIgnoreCase("user")&&password.equals("user")){
//dis =request.getRequestDispatcher("/user.jsp");
response.sendRedirect("user.jsp");
}else{
out.println("Login Salah");
//dis = request.getRequestDispatcher("/index.jsp");
response.sendRedirect("index.jsp");
}
//dis.forward(request, response);
}
Perbedaan Pengalihan response dengan method Dispacher dan sendDirect adalah terdapat pada tampilan url di Browser......