JSP ile JSF arasındaki farklar nedir?

Sponsorlu Bağlantılar

Doğuş Pertez

Doğuş Pertez

Admin
    Konu Sahibi
JSP ile JSF arasındaki farklar nedir?
Java ile web uygulamaları yapmanın pekçok yöntemi vardır.

Önceleri bu uygulamalar Servlet'ler ile başladı.

Servlet, Java ile web uygulamalarında bulunan request ve response nesnelerinin hayat döngüsünde baştan sona yani request'ten response'a varıncaya kadar işlemler yapmayı sağlar ve bir yazılım metodolojisine tabi tutar.

Fakat Servlet'ler tıpkı Perl gibi kodun içine html yazmayı gerektirdiğinden tutmadı.

Java dünyası da o sıralar yeni yeni gelişmeye başlayan bir yöntemi yani html arasına Java kodu gömmeyi başardı adında da Java Server Pages dedi.

JSP'ler aslında dinamik olarak Servlet'lere dönen bir derleme işleminden geçer ve sonuçta çalışan Servlet'tir.

JSP halen Java web uygulamalarında kullanılmaktadır ama zorunlu değildir.

Bazı Java web teknolojilerinde JSP olmadan sadece Java kodu ile web uygulamaları yapılabilir. Wicket, GWT bunlara örnek olabilir.

Yalnız bu teknolojilerde kodun içine html yazılmamaktadır. Bazı şablon sistemleri ve bileşenler kullanılarak çok daha kısa zamanda html form objeleri gibi pekçok talep gösterilebilmektedir.

Gelişen ve durmaksızın büyüyen web uygulamalarında JSP, artık sadece gösterim (view) katında kalmıştır.

Örneğin JSP içinden veritabanına erişilmez. Bu çağdaş yazılım anlayışlarına aykırıdır. Çünkü veritabanına erişmek için kullanılacak sınıfa sadece JSP ihtiyaç duymayacak, belki bir Swing uygulaması da bu sınıf ile veritabanına bağlanacaktır.

Özetle şu anda JSP sayfalar web uygulamalarının gösterim katındadır. Mesela tasarımlar, temalar, layout'lar JSP'ler için yapılabilir.

JSP sayfalarda aranan özellik aynı işi yapan benzer ekran görüntülerinin tag haline getirilerek mümkün olduğu kadar kısa tutulması ve tasarımcılara kolaylık sağlanmasıdır.

Bunun yanında çeşitli şablon sistemleri kullanılarak aynı işleri yapan JSP sayfalarının include edilmesi gibi şalon sistemi tarafından çalıştırılması sağlanır.

Struts Tiles, Apache Velocity, Sitemesh gibi şablon sistemleri bunlara örnek olabilir.

JSF (Java Server Faces) ise, bir MVC (Model View Controller) standardıdır.

MVC sistemleri Java dünyasında Apache Struts ile başlamıştır diyebiliriz.

MVC ile amaç, yazılımı objeler, görünümler ve kontrol sınıfları şeklinde mantıksal olarak bölmektir.

İki çeşit MVC vardır. Biri request tabanlı biri de event (olay) tabanlı.

Struts, request tabanlı bir MVC'dir. Request hangi sınıfa gelmişse o sınıfın çağrıya yanıt vermesini, yanıt verdikten sonra nereye yönlenmesi gerektiğini Struts belirler.

JSF ise olay tabanlı bir MVC'dir. Site üzerinde butona tıklamak gibi gerçekleşen olaylar sınıflar tarafından dinlenir ve yanıt verilir.

JSF bir sayfada gösterilecek verileri göstermek için JSP kullanabilir. Ama başka bir teknoloji de kullanabilir.

Kaynak:


JSP yi en azından temel düzeyde bilin ama üzerinde fazla oyalanmayın, bence JSF ye ağırlık verin.

Birkaç gözatabileceğiniz kaynak paylaşayım:
(JSP)
(JSP)
(JSP)
Medyaları görüntülemek için kayıt olmalısınız
(JSF)

İngilizceniz yeterliyse kendi kaynağı da gayet güzel:



Kitap olarak da Mimar Aslan'ın JSP kitabını ve Tevfik KızılÖren'in Java ve Java Teknolojileri(Java Se, JSF) kitabını tavsiye ederim.
 
  • Beğen
Tepkiler: Buğra

Benzer Konular



Üst Alt