Servlet lifecycle

Selamlar,

Bir servlet lifecyle, başlangıçtan bitime kadar olan işlemlere denilir. Servlet şu yolları takip eder.

  • Sunucu uygulaması, init () yöntemi çağrılarak başlatılır .
  • Sunucu uygulaması, kullanıcını isteğini işlemek için service ()yöntemini çağırır .
  • Sunucu uygulaması, destroy () ile sonlanır.
  • Son olarak, servlet garbage collector tarafından toplanır .

    Container ,servlet class dosyaları bulur. Sonrasında loading işlemi yapılır.

Servletler

  • Public olmak zorundadır.
  • Public no arg constructor olmak zorundadır.
  • Genel olarak servletlerde constructor tanımlanmaz.
  • Constructor yerine init metodu tercih edilir.

İnit() Metodu

    Sunucu uygulaması örneği oluşturulduktan sonra init yöntemini yalnızca bir kez çağırılır. İnlet yöntemi sunucu uygulamasını başlatmak için kullanılır. Sayfa yenilenmesi veya farklı bir sunucu üzerinde sayfanın açılması tekrar init’in çağırılmasını  sağlamaz. 

public void init() throws ServletException {
   //code...
}

Service() Metodu

    Service metodu, asıl işi yapan ana metotdur. Sunucu web sunucusu istemciden gelen istekleri (tarayıcılar) karşılamak ve cevabı tekrar istemciye yazmak için service () yöntemini çağırır.

Sunucu bir sunucu uygulaması için her istek aldığında, sunucu yeni bir konu başlatır ve servisi çağırır. Service () metodu, HTTP istek türünü (GET, POST, PUT, DELETE…) Denetler ve uygun şekilde doGet, doPost, doPut, doDelete, vb. metodlarını çağırır .

public void service(ServletRequest request, ServletResponse response) 
   throws ServletException, IOException {
}

doGet(), doPost() methodları : 

  • GET , POST Http request’lerinin Handle edildiği methodlardır .
  • Olayların işleyişlerini yönetebilmek adına bu methodlar override edilir ve eklemeler yapılır.
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException  {

     String id = req.getParameter("İsim");
     String sifre= req.getParameter("Sifre");
}

public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {

    String id = req.getParameter("İsim");
    String sifre= req.getParameter("Sifre");
}

     
        

Destroy() Metodu

    Destroy metodu bir servlet için lifecyle sonunda yalnızca bir kez çağrılır. Bu metod sunucunuza veritabanı bağlantılarını kapatma, arka plandaki konuları durdurma, tanımlama bilgisi listeleri yazma veya sayıları diske yazma ve bu tür diğer temizleme etkinliklerini gerçekleştirme şansı verir.

Destroy () yöntemi çağrıldıktan sonra, servlet nesnesi çöp toplama için işaretlenir. 

public void destroy() {
   //code...
}

Bilgi paylaştıkça çoğalır sende paylaş.