Java Servlet Oluşturma Ve Kullanımı

iyi günler arkadaşlar. Bu yazımda size java servlet oluşumu ve kullanımı hakkında bilgiler vermeye çalışacağım.

Servlet’ler java Web application projelerinde kullanılan yapılardır (objelerdir). HTTP protokolü üzerine kurulur. Bu protokole ait class’lar ve işlemler javax.servlet.http paketinde bulunur.
Bir class’ın Servlet olabilmesi için HttpServlet class’ından extends olması gerekli ve yeterlidir.

şimdi örnek bir servlet uygulaması yazalım.

servlet içerisinde bulunan metodlar yani HttpServlet sınıfından extends olarak servletimize kazandırdığımız metodlar iki parametre alarak çalışırlar bunlar.

  1. HttpServletRequest
  2. HttpServletResponse

istek ve yanıt anlamına gelen bu parametreleri alarak çalışır servlet metodlarımız. service( ), doGet( ), doPost( ) vs…

java web application projesi oluşturduktan sonra, projenin içerisine bir package açalım ve package’ye sağ tıklayarak bir servlet oluşturalım. ilk stepte servletimizin adını ve package adını girelim ikinci stepte  Add information to deployment descriptor ( web.xml)  yazan yazının yanında ki kutucuğu işaretleyelim. bu kutucuk projemize web.xml eklememizi sağlayacaktır. ve servletimizi bu web xml’in içerisine kaydedecektir. her servlet oluşturma işleminde bu step i uygulamalıyız yoksa manuel olarak web.xml oluşturma ve servletleri bu web.xml içerisine kaydetme işlemi yapmak zorunda kaliriz. finish diyerek servletimizi ekleyelim.

şimdi bu servletimizin içerisini temizleyelim ve sadece service metodunu Override edip işlemlerimizi bu metod aracılığı ile yapalım. bir önceki yazımda (java servlet nedir ?) bu metodların ne işe yaradığını açıklamıştım.

Giris adında bir servlet oluşturduk dikkat ederseniz Giris class‘ımız HttpServlet class’ından extends edilmiş.

daha sonra service( ) metodunu Override ederek, servlet çalıştığında ne yapılacağını ve kullanıcıya hangi objenin geri bildirim yapılacağını (response) ayarladık.

service( ) metodu içerisinde yaptığımız işlemlere sırası işe bakalım.
ilk önce PrintWriter out = response.getWriter(); kodunu göreceksiniz burda ;

PrintWriter class’ından out adında bir obje oluşturduk ve bu objeye kullanıcaya verilecek olan yanıt ( response ) a yazma ozelliğini atadık. bu sayede “out.println( )” metodunu kullanarak response‘mizi tasarlıyoruz. aynı HTML sayfası yazar gibi satır satır kullanıcıya gösterilecek olan sayfayı (response ) tasarlıyoruz.

kodlardan da anlayacağınız gibi. birinci sayı ve ikinci sayı değerlerini alan iki text kutucuğumuz ve bir hesapla butonundan ibaret basit bir HTML sayfası hazırladık. burda dikkat edilecek olan kısım. form’un action kısmı. yani butona basıldığında sayfamızın nasıl davranacağını gösteren kısım. (html bilginizin normal seviyede olduğunu varsayarak anlatıyorum 🙂 ) biz buraya ikinci servletimizin adını yazıyoruz “Hesaplama”. yani butona basıldığında otomatik olarak ikinci servletimiz (Hesaplama) çalışmaya başlayacaktır. kullanıcıdan alınan birinci ve ikinci sayı değerleri otomatik olarak servletin request objesine yüklenerek ikinci servlete (Hesaplama) aktarılacaktır.

 

Giris Servletinde değerler yazılıp butona basıldığında Hesaplama Servlet i çalışmaya başlayacaktır. gördüğünüz gibi Hesaplama Servletinde ekrana sadece toplam adında bir değişken basılıyor. bu kısımda önemli olan ise. bu değerlerin request’ten nasıl alındığı. şimdi bu ilgili kodu inceleyelim.

 

int birincisayi = Integer.parseInt(request.getParameter(“birincisayi”));  kodunda gördüğünüz request.getParameter( ) metodu servlet’de yazılan input ların değerlerini almamıza yaramaktadır. inputların  içerisine yazdığımız name=”” değerlerini bu metoda parametre olarak göndererek bu işlemi gerçekleştiririz.

request.getParameter(“birincisayi”)  kodundada gördüğümüz gibi birincisayi” değeri, Giris servletinde birincisayi değerini kullanıcıdan alan input’un name değeridir. bu name değerini request.getParameter( ) metoduna göndererek birinci servletten ikinci servlete request aracılığıyla taşınan bu değeri elde etmiş oluruz.

daha sonra bu iki değer toplanarak, toplam değişkenine atanıyor ve bu değişkende kullanıcıya response yapılacak olan sayfaya yazdırılıyor.

 

faydalı olması dileğiyle…

 

CUMHUR ÇAĞATAY

About Cumhur Çağatay

Computer Engineer