Servlet Filter dan Listener
Tugas Servlet Filter dan Listener
Filter Login
1.index.html
2.Loginservlet.java
3.Loginsuccess.jsp
5.Logoutservlet.java
6.RequestLoggingFilter.java
7.AuthenticationFilter.java
8.Web.xml
Servlet Context dan Listener
ServletContext adalah suatu interface yang digunakan untuk berkomunikasi dengan servletcontainer.
Dalam sebuah aplikasi web hanya terdapat satu ServletContext saja, dan seluruh
komponen aplikasi web dapat saling menggunakannya. Berikut ini adalah daftar method yang
sering digunakan yang berada di interface ServletContext :
setAttribute (String name, Object object) Berfungsi untuk membuat suatu attribute dengan
nama dan object tertentu.
getAttribute(String name) Berfungsi untuk mengembalikan nilai dari suatu attribute
tertentu.
getAttributeNames() Berfungsi untuk mengembalikan nama2 semua attribute yang ada dalam
ServletContext.
removeAttribute(String name). Berfungsi untuk mengahapus suatu attribute tertentu.
getServletContextName() Berfungsi untuk mengambil nilai yang berada di dalam elemen yang
berada di file web.xml.
getInitParameter(String name) Berfungsi untuk mengambil nilai paramater yang sudah
diinisaliasikan di file web.xml.
getInitParameterNames() Berfungsi untuk mengambil semua nama parameter yang ada.
getServerInfo() Berfungsi untuk mengambil nama dan versi dari servlet-container.
Formatnya adalah servername/versionnumber.
getRealPath(String path) Berfungsi untuk mengambil real path dari suatu aplikasi web.
Real path disini maksudnya letak direktori file2 aplikasi web tersebut.
log(String log) Berfungsi untuk menulis suatu pesan/log. Log yang kita buat ini bisa
dilihat di Apache Tomcat xxx.Log (Jika menggunakan netbeans, terletak di bagian output).
Sedangkan ContextListener berfungsi seperti listener di java yaitu mendeteksi suatu
event dan memberikan respons terhadap event tersebut. Di dalam servlet, jika kita
mendeklarasikan sebuah listener pada objek tertentu, maka servlet-container akan
menghasilkan event yang sesuai pada saat terjadi perubahan dalam objek tersebut. Berikut
ini adalah beberapa interface listener bisa digunakan di servlet:
ServletContextListener
ServletContextAttributeListener
ServletRequestListener
ServletRequestAttributeListener
HttpSessionListener
HttpSessionAttributeListener
Sekarang langsung saja buat sebuah project java web baru dengan nama MyServletListener
menggunakan IDE kalian (saya menggunakan netbeans), lalu tambahkan code berikut di file
index.jsp/ index.html
<a href="getServletContext.do">view servlet context</a>
kemudian buat servlet baru dengan nama ServletContextClass seperti gambar berikut :
setelah itu jangan lupa centang add information to deployment description
lalu ubah file ServletContextClass.java menjadi seperti berikut :
setelah itu buat class untuk mengimplementasikan setiap interface listenernya.
Tambahkan file listener baru dengan nama ServletContextListenerClass. dan berikut
langkah langkahnya :
Setelah itu ubah kode yang ada pada file ServletContextListenerClass.java menjadi
seperti ini berikut :
ServletContextAttributeListener
Selanjutnya buat file ServerListener dengan nama ServletContextAttributeListenerClass,
pada bagian Interfaces to Implement, pilih Context Attribute Listener
Kemudian ubah kode file class tersebut menjadi sepserti ini :
Ketika ada suatu attribute baru yang ditambahkan ke dalam servlet-context maka fungsi attributeAdded akan dijalankan, ketika suatu attribute dihapus maka fungsi attributeRemoved dijalankan, dan ketika suatu attribute diubah nilainya maka fungsi attributeReplaced dijalankan.
ServletRequestListener
Selanjutnya buat file ServerListener dengan nama ServletRequestListenerClass, pada kolom
Interfaces to Implement pilih Request Listener :
Kemudian ubah kode file class tersebut menjadi sepserti ini:
ServletRequestAttributeListener
Selanjutnya buat file ServerListener dengan nama ServletRequestAttributeListenerClass, pada kolom
Interfaces to Implement pilih Servlet Request Attribute Listener:
Kemudian ubah kode file class tersebut menjadi sepserti ini:
HttpSessionListener
Selanjutnya buat file ServerListener dengan nama HttpSessionListenerClass, pada kolom
Kemudian ubah kode file class tersebut menjadi sepserti ini:
HttpSessionAttributeListener
Selanjutnya buat file ServerListener dengan nama HttpSessionAttributeListenerClass, pada
kolom Interfaces to Implement pilih HTTP Session Attribute Listener:
Kemudian ubah kode file class tersebut menjadi sepserti ini:
Sekarang daftarkan class ServletContextClass sebagai sebuah servlet dan keenam class di
atas sebagai sebuah listener. Konfigurasinya kita lakukan di file web.xml, seperti ini:
ServletContext dan Listener-DB
Silakan rubah kode file-file tersebut dengan kode berikut ini :
DBConectionManager.java
MyServlet.java
AppContextListener.java
AppContextAttributeListener.java
MySessionListener.java
MyServletRequestListener.java
Tugas Servlet Filter dan Listener
Filter Login
8.Web.xml
Servlet Context dan Listener
ServletContext adalah suatu interface yang digunakan untuk berkomunikasi dengan servletcontainer.
Dalam sebuah aplikasi web hanya terdapat satu ServletContext saja, dan seluruh
komponen aplikasi web dapat saling menggunakannya. Berikut ini adalah daftar method yang
sering digunakan yang berada di interface ServletContext :
setAttribute (String name, Object object) Berfungsi untuk membuat suatu attribute dengan
nama dan object tertentu.
getAttribute(String name) Berfungsi untuk mengembalikan nilai dari suatu attribute
tertentu.
getAttributeNames() Berfungsi untuk mengembalikan nama2 semua attribute yang ada dalam
ServletContext.
removeAttribute(String name). Berfungsi untuk mengahapus suatu attribute tertentu.
getServletContextName() Berfungsi untuk mengambil nilai yang berada di dalam elemen yang
berada di file web.xml.
getInitParameter(String name) Berfungsi untuk mengambil nilai paramater yang sudah
diinisaliasikan di file web.xml.
getInitParameterNames() Berfungsi untuk mengambil semua nama parameter yang ada.
getServerInfo() Berfungsi untuk mengambil nama dan versi dari servlet-container.
Formatnya adalah servername/versionnumber.
getRealPath(String path) Berfungsi untuk mengambil real path dari suatu aplikasi web.
Real path disini maksudnya letak direktori file2 aplikasi web tersebut.
log(String log) Berfungsi untuk menulis suatu pesan/log. Log yang kita buat ini bisa
dilihat di Apache Tomcat xxx.Log (Jika menggunakan netbeans, terletak di bagian output).
Sedangkan ContextListener berfungsi seperti listener di java yaitu mendeteksi suatu
event dan memberikan respons terhadap event tersebut. Di dalam servlet, jika kita
mendeklarasikan sebuah listener pada objek tertentu, maka servlet-container akan
menghasilkan event yang sesuai pada saat terjadi perubahan dalam objek tersebut. Berikut
ini adalah beberapa interface listener bisa digunakan di servlet:
ServletContextListener
ServletContextAttributeListener
ServletRequestListener
ServletRequestAttributeListener
HttpSessionListener
HttpSessionAttributeListener
Sekarang langsung saja buat sebuah project java web baru dengan nama MyServletListener
menggunakan IDE kalian (saya menggunakan netbeans), lalu tambahkan code berikut di file
index.jsp/ index.html
<a href="getServletContext.do">view servlet context</a>
kemudian buat servlet baru dengan nama ServletContextClass seperti gambar berikut :
setelah itu jangan lupa centang add information to deployment description
lalu ubah file ServletContextClass.java menjadi seperti berikut :
setelah itu buat class untuk mengimplementasikan setiap interface listenernya.
Tambahkan file listener baru dengan nama ServletContextListenerClass. dan berikut
langkah langkahnya :
Setelah itu ubah kode yang ada pada file ServletContextListenerClass.java menjadi
seperti ini berikut :
ServletContextAttributeListener
Selanjutnya buat file ServerListener dengan nama ServletContextAttributeListenerClass,
pada bagian Interfaces to Implement, pilih Context Attribute Listener
Kemudian ubah kode file class tersebut menjadi sepserti ini :
Ketika ada suatu attribute baru yang ditambahkan ke dalam servlet-context maka fungsi attributeAdded akan dijalankan, ketika suatu attribute dihapus maka fungsi attributeRemoved dijalankan, dan ketika suatu attribute diubah nilainya maka fungsi attributeReplaced dijalankan.
ServletRequestListener
Selanjutnya buat file ServerListener dengan nama ServletRequestListenerClass, pada kolom
Interfaces to Implement pilih Request Listener :
ServletRequestListener
Selanjutnya buat file ServerListener dengan nama ServletRequestListenerClass, pada kolom
Interfaces to Implement pilih Request Listener :
Kemudian ubah kode file class tersebut menjadi sepserti ini:
ServletRequestAttributeListener
Selanjutnya buat file ServerListener dengan nama ServletRequestAttributeListenerClass, pada kolom
Interfaces to Implement pilih Servlet Request Attribute Listener:
Kemudian ubah kode file class tersebut menjadi sepserti ini:
HttpSessionListener
Selanjutnya buat file ServerListener dengan nama HttpSessionListenerClass, pada kolom
Kemudian ubah kode file class tersebut menjadi sepserti ini:
HttpSessionAttributeListener
Selanjutnya buat file ServerListener dengan nama HttpSessionAttributeListenerClass, pada
kolom Interfaces to Implement pilih HTTP Session Attribute Listener:
Kemudian ubah kode file class tersebut menjadi sepserti ini:
Sekarang daftarkan class ServletContextClass sebagai sebuah servlet dan keenam class di
atas sebagai sebuah listener. Konfigurasinya kita lakukan di file web.xml, seperti ini:
ServletContext dan Listener-DB
Silakan rubah kode file-file tersebut dengan kode berikut ini :
DBConectionManager.java
MyServlet.java
AppContextListener.java
AppContextAttributeListener.java
MySessionListener.java
MyServletRequestListener.java