Servlet Filter Juni 7, 2008
Posted by samsonasik in Tutorial JSP, Tutorial Servlet.4 comments
Filter adalah sebuah komponen yang dapat menangani request atau response yang harus atau tidak harus dilakukan/diterima oleh client. Secara normal, filter digunakan untuk membungkus dan memanipulasi request, response, atau nilai header sebelum dan setelah eksekusi target.
Now, kita akan mencoba mempraktekkan sebuah filter sederhana
Pertama, kita siapkan GenericFilter sebagai implementasi dari interface javax.servlet.Filter, mengimplementasikan method doFilter, init,dan destroy.
Method init digunakan untuk menginisialisasi filter, yang kemudian dijalankan oleh doFilter, sedang method destroy digunakan untuk menghancurkan object yang diinstansiasi dari kelas FilterConfig.
berikut coding standard untuk kelas GenericFilter :
| Code: |
|
/* from http://www.orionserver.com/tutorials/filters/1.html */ package filters.learn; import javax.servlet.Filter; public class GenericFilter implements Filter{ |
Now, let’s Writing your first Filter :
| Code: |
|
package filters.learn; import filters.learn.GenericFilter; import java.io.*; public class HelloWorldFilter extends GenericFilter { public void doFilter(final ServletRequest req, final ServletResponse resp, FilterChain chain) } |
Kita akan mencoba mengetes filter di atas, kita siapkan file JSP kita :
| Code: |
| hai, ini aku ${me} |
Pertanyaannya, bagaimana configurasi filter di atas?? eit …, tunggu dulu, sebelum kita bicara konfigurasi, tentunya kita butuh sebuah servlet lagi yang akan kita memforward, dan memapping address url, berikut codingnya :
| Code: |
|
package filters.learn;
import java.io.*; public class ServletForwarderHello extends HttpServlet{ |
Nah, sekarang waktunya konfigurasi web.xml kita :
…..
<servlet>
<servlet-name>servletforwarderhellofilter</servlet-name>
<!–class servlet –>
<servlet-class>filters.learn.ServletForwarderHello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletforwarderhellofilter</servlet-name>
<!–alamat url –>
<url-pattern>/filter</url-pattern>
</servlet-mapping>
<filter>
<filter-name>HelloWorld</filter-name>
<filter-class>filters.learn.HelloWorldFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HelloWorld</filter-name>
<url-pattern>/filter</url-pattern>
</filter-mapping>
…..
Now, let’s try : http://localhost:8080/advance/filter (ceritanya, saya built ke dalam advance.war, kalau ditaruh di bawah direktori ROOT, cukup http://localhost:8080/filter)
Selamat mencoba
Referensi :
1. http://www.orionserver.com/tutorials/filters/
2. http://www.javapassion.com

