JSF, JSP ve Servlet arasındaki fark nedir?

Ahbap

Harbi Üye
Forum Üyesi
Katılım
29 Mayıs 2019
Mesajlar
8,562
Tepkime puanı
2
Bu üç kavram genellikle karışıtırılır, bu karışıklık kimi zaman yanlış anlamalara da neden olabiliyor. Haklı karışıklığın sebebi, bu üç kavramın da birbirine çok yakın olması.

JSP (JavaServer Pages)

JSP, bir java sunucusu üzerinde çalışan HTML, CSS, Javascript çıktısı üretebilen, Java gösterim teknolojisi olarak tanımlanabilir. JSP, etiketler (tablibs) ve Java kodlarından oluşur, programın akışını, dinamik çıktı üretilmesini vs. etiketler ve java kodu ile yapılır. Ancak JSP içinde doğrudan java kodu yazmak yerine, bu kodların JSP içine dahil edilmesi tavsiye edilir. Yani JSP içine veritabanı bağlantıları için java kodu yazmak yerine, bu kodları bir java class'ı içine yazıp, JSP içinden bu class'ın çağırılması tavsiye edilir. JSP'nin etiket kütüphanesi JSTL (JavaServer Pages Standard Tag Library) olarak anlandırılır.

Bir JSP kodu sunucudan ilk defa çağırıldığında veya web sunucu ilk defa başlatıldığında, JSP kodu HttpServlet sınıfından türetilerek bir class olarak oluşturulur ve sunucunun yaşan süresi boyunca çalışmaya devam eder.

Servlet

Servlet, Java application programming interface (API), sunucu üzerinde çalışan, dinamik içerik üreten bir web bileşenidir. HttpServlet, servlet'e örnek olarak verilebilir. Servletler, Java'nin, CGI (Common Gateway Interface) programlamasına alternatifi olarak oluşturulmuşlardır. Web sunucusu ile diğer ortakat uygulamaları ve veri tabanı arasında yer alırlar.

Örnekle açıklayacak olursak, bir Servlet ilk defa çağırıldığında veya Tomcat gibi web sunucu ilk defa çalıştırıldığında, Servlet'in bir örneği (instance) oluşturulur ve sunucunun yaşam süresi boyunca hazırda bekler. Eğer o servlet için bir istek olursa, yanıt verir. Servlet'lere istekler HttpServletRequest arayüzünden gelir, servlet'in cevabı ise HttpServletResponse arayüzünden döndürülür.

JSF (JavaServer Faces)
JSF ise Servlet ve JSP'den biraz daha farklı olarak, arka planda Servlet ve ön yüzde JSP etiketlerini kullanabilen, bileşen temelli bir MVC çatısıdır. Arka plan kodunu, tasarımı ve gösterimi ayrı ayrı yapabilmek için geliştirilmiş bir frameworkdur. Kendi içinde hazır kütüphaneleri vardır ve siz ilgili kütüphaneleri ekleyip, SJF'ye uygun etiketler ile geliştirmenizi yaparsınız. JSF gibi çatıları kullanmanın avantajı, ihtiyaç duyabileceğiniz bazı bileşenlerin daha önceden hazır paketler halinde sunulmasıdır. Örneğin geliştirdiğiniz uygulamada veri doğrulaması yapmak istiyorsanız, bunun için JSF içindeki hazır yapıyı kullanabilirsiniz. JSF, temel olarkak FacesServlet sınıfını kullanır.

Yukarıda kısaca açıklamaya çalıştığımız bu üç kavram genellikle karıştırılır. Umarım aradaki farkı doğru bir şekilde anlatabilmişizdir.
 

Nutella

Harbi Üye
Bayan Üye
Özel Üye
Katılım
2 Ocak 2021
Mesajlar
9,432
Tepkime puanı
8
Cinsiyet
  1. Bayan
Takım
Galatasaray
Paylaşım için teşekkürler.
 
İçerik sağlayıcı "paylaşım" sitelerinden biri olan Harbimekan.Com Forum, Eğlence ve Güncel Paylaşım Platformu Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. Harbimekan.Com sitesindeki konular yada mesajlar hakkında yapılacak tüm hukuksal Şikayetler için info@harbimekan.com yada iletişim sayfası üzerinden iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 3 Gün (72 Saat) içerisinde Forum yönetimi olarak tarafımızdan gereken işlemler yapılacaktır.

Bu Site, Bilim ve Sağlık Haber Ajansı Üyesidir.

Yığıntı - 8kez - kaynak mağazam - Uğur Ağdaş