ServletConfig Interface

ServletConfig Interface

Merhaba arkadaslar , yeni bir Servlet yazısı ile tekrar beraberiz. Yazımız ServletConfig üzerine olucaktır.

ServletConfig : Servlet’imize özgü config objesidir.  ServletConfig , “config”  kelimesinden anlaşılacağı üzere Servlet’imize özgü ayarları tutmamızı sağlar.  Servletimiz için hard-code yazmak yerine ServletConfig ile database  vb. bilgilerini kullanabiliriz.

  • ServletConfig , Contaıner tarafından oluşturulur.
  • ServletConfig , Servlet’e özgüdür. Bir Servlet -> bir ServletConfig objesi.
  • Servlet’in çalışma zamanı yada database driver,username,password gibi bilgileri burada kullanabiliriz.
  • ServletConfig , Contaıner tarafından Servlet initialize edildigince oluısturulur ve tekrar Contaıner kontrolünde silinir.
  • ServletConfig , bir defa olusturulur.
  • ServletConfig ayarları , web.xml içerisinde <init-param> etiketleri içerisinde tanımlanır.
  • <init-param> etiketleri key-value String degerler ile oluşturulur.

 

ServletConfig Interface Methodları

  1. public String getInitParameter(String name): Verilen parametre-name ile eşleşen parametre-value döner.
  2. public Enumeration getInitParameterNames(): parameter-name’ leri Enumeration olarak döner.
  3. public String getServletName(): Servlet adını döndürür.
  4. public ServletContext getServletContext(): ServletContext objecisini döner.(Daha sonra deginicez.)

Hemen bir örnek üzerinden gidelim ; Örnegimiz, Servlet’imize özgü olarak Servlet adı ve database için de -> driver,username,password bilgilerini tutacagımız ve bunları Servletimizde kullanacagımız ufak bir örnek olacak.

web.xml dosyamız ;

* Servletimizin özelliklerine bakalım ;

  1. Servlet Name : MyServlet
  2. Servlet Url : /ServletConfigDemo
  3. Servlet init-param driver : org.driver.postgresql
  4. Servlet init-param username :  wora
  5. Servlet init-param password :  wora
  6. Servlet load-on-startup : 1

* Dikkat edersek eger Servlet’imiz için  adı , database degerleri , ve servletimizn çalışma anı bilgilerini kullandık.

load-on-startup : 1 ile Contaıner’in çalışmasıyla Servletimizin de çalışacağını belirttik . Eğer <0 olursa Servlet için ilk request geldiginde , eğer >=0 olursa Contaıner’ın çalışması ile Servlet’imizinde yüklenmesini belirtmiş oluruz.

* Sıra bu bilgileri Servlet’imiz içerisinden okumaya geldi ;

Servletimiz için ServletConfig objesini getServletConfig() methodu ile alabiliriz ;

Config parametrelerini ise getInitParameter(String) methodu ile alabiliriz;

* Eğer verdigimiz key ile eşleşen bir value olmazsa null döner.

* Ek olarak ServletConfig’de bulunan tüm key-value çiftini getInitParameterNames() ile alabiliriz;

* Çektiğimiz verileri , response’den aldıgımız PrintWriter nesnesi ile yazdırıyoruz.

Çıktımız ;

 

 

 

 

 

 

 

* Yazımızın sonuna geldik arkadaslar

Birkaç hatırlatma ;

  • ServletConfig objesi tek Servlet içindir , tek Servlet’e özgüdür. Diğer Servlet’ler tarafından kullanılamaz.
  • ServletConfig objesinin oluşturulması ve silinmesi Contaıner’ın görevidir.
  • Uygulamamızda hard-code olarak veriler yazmak yerine database bilgileri gibi verileri Config içerisinde yazmamız uygun olur.

* Kullanacagımız veri eğer sadece Servlet tarafından kullanılacak ise ServletConfig , eğer uygulamamızın tamamı tarafından kıllanılacaksa ServletContext kullanmalıyız. Bir sonraki yazımız ServletContext üzerine olacaktır.

* Mutlu kalın , kod’la kalın ve bol bol Çay için/içirin

~ Alican Akkus

 

982 Total Views 1 Views Today