Buat dahulu databases dengan mengunakan mysql atau MySQL51. Dan pada praktikum kali ini menggunakan aplikasi NetBeans IDE 6.9.1
Pertama buat file jsp yaitu connect.jsp berikut sintaknya:
<%-- Document : connect Created on : 14 Mei 11, 14:40:34 Author : czylbiy --%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@page import="org.apache.catalina.Manager"%>
<%@page import="java.sql.Driver"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<% try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { } String koneksi = "jdbc:mysql://localhost:3306/session"; Connection con = DriverManager.getConnection(koneksi, "root", ""); Statement st = con.createStatement(); ResultSet rs; %>
Kita lanjutkan dengan membuat file index.jsp
dimana fungsinya untuk menampung parameter yang akan dimasukkan oleh user. Jika parameter yang dimasukkan dari index sama dengan data yang ada di database maka index akan di alihkan ke main.jsp dan session akan di buat, tapi jika yang di request dari parameter tidak sama dengan data yang ada di database maka akan di alihkan kembali ke index dan session tidak dibuat.
<%-- Document : index Created on : 14 Mei 11, 15:10:12 Author : czylbiy --%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@include file="connect.jsp" %>
<% String username = request.getParameter("username"); String password = request.getParameter("password"); if (username == null) { username= ""; } if (password == null) { password= ""; } rs = st.executeQuery("select * from users where user='" + username + "' and password='" + password + "'"); if (rs !=null) { while (rs.next()){ session.setAttribute("sessionusername", rs.getString("user")); session.setAttribute("sessionpassword", rs.getString("password")); response.sendRedirect("main.jsp"); } } else if (rs == null) { response.sendRedirect("index.jsp"); } %>
SelanjutnyaMembuat halaman main.jsp
untuk melihat menu utama setelah berhasil dip roses serta dapat di authentifikasi dari proses jika telah berhasil dan hasil dari pembuatan session.
<%-- Document : main Created on : 14 Mei 11, 15:03:30 Author : czylbiy --%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<% if ((String) session.getAttribute("sessionpassword") == null && (String) session.getAttribute("sessionpassword") == null) { response.sendRedirect("index.jsp"); } else if ((String) session.getAttribute("sessionusername") != null){ out.print("Selamat Datang..."); out.print("logout");
}
%>
Selanjutnya membuat file logout.jsp
untuk menghapus session.
. <%-- Document : logout Created on : 14 Mei 11, 15:43:24 Author : czylbiy --%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<% session.removeAttribute("username"); session.removeAttribute("password"); session.invalidate(); response.sendRedirect("index.jsp"); %>
2. TEKNIK DENGAN MEMILAH APLIKASI MENJADI TIGA BAGIAN
pertama membuat file servlet sebagai control dari program tersebut dengan nama
login.java
.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
*
* @author czylbiy
*/
public class login extends HttpServlet {
/**
* Processes requests for both HTTP
GET and POST methods.* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
/* TODO output your page here
out.println("");
out.println("");
out.println("
out.println("");
out.println("");
out.println("
Servlet login at " + request.getContextPath () + "
");out.println("");
out.println("");
*/
} finally {
out.close();
}
}
//
/**
* 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 {
response.setContentType("text/html");
PrintWriter out=response.getWriter();
System.out.println("Contoh koneksi Mysql");
Connection conn=null;
String url="jdbc:mysql://localhost:3306/";
String dbname="session";
String userName="root";
String driver="com.mysql.jdbc.Driver";
String pass="110891";
String username="";
String password="";
String strQuery="";
Statement st=null;
ResultSet rs=null;
HttpSession session=request.getSession(true);
try{
Class.forName(driver).newInstance();
conn=DriverManager.getConnection(url+dbname,userName,pass);
if(request.getParameter("username")!=null && request.getParameter("username")!="" && request.getParameter("password")!=null && request.getParameter("password")!=""){
username=request.getParameter("username").toString();
password=request.getParameter("password").toString();
strQuery="select * from users where username='"+username+"' and password='"+password+"'";
System.out.println(strQuery);
st=conn.createStatement();
rs=st.executeQuery(strQuery);
int count=0;
while(rs.next()){
session.setAttribute("username", rs.getString("username"));
count++;
}
if(count>0){
response.sendRedirect("selamatdatang.jsp");
}else{
response.sendRedirect("login.jsp");
}
}
else{
response.sendRedirect("login.jsp");
}
System.out.println("Terkoneksi ke database");
conn.close();;
System.out.println("Terputus Dari database");
}catch(Exception e){
e.printStackTrace();
}
}
/**
* Returns a short description of the servlet.
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}//
}
Selanjutnya membuat loginbean.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author czyilbiy
*/
package logbean;
public class LoginBean {
String username="";
String password="";
public String getusername() {
return username;
}
public void setusername(String username) {
this.username = username;
}
public String getpassword() {
return password;
}
public void setpassword(String password) {
this.password = password;
}
}
Selanjutnya buat view.jsp
untuk menampung parameter yang dimasukkan oleh user yang akan dikelola oleh controller. Tetapi sebelumnya buat dahulu hal login.jsp yang akan di postkan ke view.jsp
<%-- Document : view Created on : 20 Mei 11, 13:50:12 Author : czylbiy --%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page language="Java" import="java.sql.*" import="java.logbean.*" %>
Selanjutnya membuat file menu utama selamatdatang.jsp
untuk mengetahui proses yang berhasil di input dari parameter ke controller login.java dan di fordward ke selamatdatang.jsp.
<%-- Document : selamatdatang Created on : 20 Mei 11, 18:42:44 Author : czylbiy --%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
Selamat Datang <%=user%> |
| Logout |
membuat file logout.jsp
session harus di hancurkan setelah keluar dari halaman tersebut
<%-- Document : logout Created on : 20 Mei 11, 18:20:13 Author : czylbiy --%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<% session.removeAttribute("username"); session.invalidate(); response.sendRedirect("login.jsp"); %>
Kesimpulan
Pemrograman berorientasi objek (Object-Oriented Programming atau OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya, Sedangkan untuk pemrograman terstruktur adalah kebalikan dari pemrograman berorientasi objek yaitu sebuah cara pemrosesan data yang terstruktur dalam analisa, cara dan penulisan pemrograman. Dikarenakan harus terstruktur sehingga dalam pembuatannya antara satu line pemrograman dengan yang lainnya berhubungan. Konsep utama dari Pemrograman Berbasis Objek terletak pada kondisi kode/line pemrogramanannya dimana merupakan sebuah kesatuan modular.
Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat :
– Encapsulation (pembungkusan)
Encapsulation adalah mekanisme pemrograman yang membungkus kode dan data yang dimanipulasi dan menjaganya supaya terhindar dari interferensi dan penggunaan yang tidak perlu. Salah satu caranya dengan membentuk objek.
– Inheritance (pewarisan)
Inheritance memungkinkan programer meletakkan member yang sama dalam satu class dan class-class lain dapat mewarisi member tersebut. Class yang mengandung member yang sama dari beberapa class lain dinamakan superclass atau parent class. Class yang mewarisi dinamakan subclass atau child class. Inheritance menghasilkan class hierarchy.
– Polymorphism (polimorfisme –perbedaan bentuk)
Polymorphisme artinya mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai polymorphic, bila objek-objek itu mempunyai antar muka yang identik namun mempunyai perilaku-perilaku yang berbed
Perbedaan antara kedua project tersebut
1.Pada Project pertama.
Perbedaan yang bisa diketahui yaitu Dari segi keamanan project yang kedua lebih aman dari project satu dan dari segi yang lain membuat programmer lain akan mudah membaca program yang dibuat oleh pembuatnya. Karena semua koneksi untuk data basenya terdapat pada file indexnya. Dan hanya memiliki view saja karena semua tugasnya tidak di bedakan semuanya ditumpuk menjadi satu di dalam konsep view.
2.Pada Project ke-2
menggunakan konsep model-view-kontrol yaitu membuat file yang dipisah-pisah, jadi setiap data mempunyai tugasnya masing –masing dimana fungsinya sama dengan project yang pertama yang menumpuk langsung dalam file.
Tidak ada komentar:
Posting Komentar