Servletler Java web ve uygulama sunucularında (server) çalışan, istemcilerden (client) gelen istekler ile HTTP sunucularındaki veritabanları ve uygulamalar arasındaki ara katmandır.
Servletler aşağıdaki işleri yapar:
Inıt() Metodu
Bu metot servlet yaratıldığı anda bir kere çağırılır ve tekrar çağırılmaz. Servletler normalde kendisini işaret eden URL çalıştırıldığında yaratıır fakat server çalışmaya başladığı anda da yaratabiliriz.
Service() Metodu
Bu metot asıl işi yapan metottur. Sunucu, istemciden gelen istekleri almak ve yanıt verebilmek için bu metodu çalıştırır. Sunucuya bir servlet için gelen her istekte sunucu yeni bir thread başlatır ve service metodunu çağırır. Service metodu ise gelen isteğe göre doGet() veya doPost() metodunu çalıştırır. Dolayısıyla service() metodunu çağırmamıza gerek yoktur. Yalnızca doGet() ve/veya doPut() metodlarını override ederiz.
doGet() Metodu
GET istekleri için kullanılır.
doPost() Metodu
POST istekleri için kullanılır.
destroy() Metodu
Bu metot da aynı init() metodu gibi yalnızca bir kere çalıştırılır. Servletin yaşam döngüsü bitmeden veritabanı bağlantılarının kapatılması, threadlerin durdurulması gib işlemler için çalıştırılır. Core Java'daki finalize() metodu gibidir. doDestroy() metodu çalıştırıldıktan sonra garbage collection'ın ilgilenmesi için işaretlenir.