Java Servlet Nedir?

Java Servlet'ler Java EE'de Java Servlet Api'leriyle uyumlu bir java sinifidir. Kullanim yerleri HTTP protokollerinden gelen istemlere yanit vermek icin kullanilmaktadir. Servlet'ler hakkinda bahsedilirken HttpServlet olarak bahsedildigini kodlarin icerisinde gorebilirsiniz. Servlet'ler ile calisirken HTTP cerezlerini veya URL'leri yeniden yazabileceginiz bir ortam sunacaktir.
Temel servlet paketleri, servlet istem ve yanitini sunan javanin uretmis oldugu nesnelerin yaninda servletin duzenlemis oldugu parametrelerini ve isletme cevresini de tanimlamaktadir. Web sunuculari ve istemcileri arasinda yollanan coklu istem ve yanitlari takip eden bir oturum yonetimi nesneleri de icine almaktadir. Yaptiginiz projelerin sonunda bir WAR dosyasi icerisinde servlet'lerinizi paketlendirebilirsiniz.
Yanda gordugumu yasam dongusu ile HTTPServlet'lerin isleyisini inceleyebiliriz.
Buna bagli olarak simdi bazi terimleri inceleyelim;
Servlet Container ; Java tarafindan uretilmis olan web sayfalarinin sunucular tarafindan yorumlanmasi icin kullanilmaktadir. Servlet icin kodlarimizi yazarken Servlet Container'a ihtiyac olmaktadir.
Uygulamalarinizi gelistirirken Javax.Servlet kutuphanelerini import etmek zorundayiz. Bu ve bunun altinda var olan diger siniflari kullaniyor. Bununla birlikte oncedende bahsettigimi HTTPServlet abstract sinifini yaptigimiz projelerde miras almak zorundadir.
HttpServletRequest ; istemcidensunucuya gelen bilgileri almamizi saglar.
HttpServletResponse ; sunuculardan istemcilere gonderilecek veri aktariminda kullanilir.
DoGet - DoPost Metodu ; Daha onceki web tasarim konularinda cok sik dile gelen get - post yontemleri JavaServlet'ler icinde kullanilmaktadir. DoGet ile iceriklerimizi gorunur bir sekilde sunucuya gonderirken, DoPost ile iceriklerimizi istemciler tarafindan gorunmeyecek bir sekilde sunucuya iletilmesini saglariz.
Servlet'lerde diger web tasarim dillerinde oldugu gibi sayfalarin istemciler tarafinda ne kadar surede kalabilecegi hakkinda zaman ayarlari yapilabilir. Bunun icinde Java'nin Cookie sinifi kullanilmaktadir.
Servlet'lerde bir diger onemli konu basligi ise Filter yapilaridir. Filter'lari kullanarak belirlemis oldugumuz servlet'lerin iceriklerini kontrol ederek istemci sunucu arasinda ki veri akislarini dinlemesini saglariz. Burada senkronizasyonlu bir sekilde calisan diger bir yapida Listener'dir. Veri aktarimlarinda degisen Event'lari yakalar ve olay akislarinin daha etkin, duzgun bir sekilde calismasini saglar. Listerner'lari orneklersek; Session Listener ve Context Listener'i aciklayabiliriz. Session Listener'lar da sistemdeki istemcilerin ne kadar zamanda islem yaptiklarini, bu islemlere basladiklari ve bitirdikleri sureler arasinda ki sistemde bulunduklari zamanlari dinleyerek session'larin durumlarini takip edecektir. Context Listener ise ; uygulamalarda ki degiskenlerin tutuldugu yer olan context'lerin uygulama baslatildigi ve sonlandirildigi zaman araliklarinda ki degiskenlerin durumlarini dinleyerek takip etmesidir. Baslangic icin onemli olan bu ifadeleri inceledikten sonra dilerseniz uygulamalarla birlikte soylediklerimizi biraz daha pekistirebiliriz. Oncelikle calisma ortamlarimizi hazirlamamiz gerekecektir. Java Servlet komutlarini yazabilecegim bir arayuz olarak NetBeans IDE'yi kullanacagiz. Beraberinde web server olarak HTTP ve JSP kodlarimizi calistirabilecegimiz Apache TomCat Server'i kullaniyorum. (Tomcat ile ilgili detayli bilgiyi site icerisinde diger makalelerimde bulabilirsiniz.) Bu makalemizde Servlet'lerden bahsetmis olduk, gelecek makalelerde servlet'ler le ilgili uygulamalar ve kullanilan komutlar ile ilgili aciklamalar yer alacaktir.
Yorumlar