.Net çi olarak Java öğrenmeye yeni başladım, temelleri ve özelliklerini iyi biliyorum. Ama Java teknolojisinde oldukça fazla kavram var ve neresinden tutup başlayacağımı bilemiyorum kafamda netleştiremiyorum. JSP ile ufak basit bir proje yapmak istiyorum ama bir de JSF var? JSF'in açılımı ve açılımından çıkardığım yorum kadar bir bilgim var.


JSP ve JSF Arasında ki fark nedir? Hangisine yoğunlaşmam beni ileriye taşır?




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
https://forum.ceviz.net/java-jsp-jsf-28/jsf-mi-jsp-mi-farklariartilarieksileri-81766/


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:
http://www.youtube.com/playlist?list=PLB59C6BBACE1001BB&feature=plcp (JSP)
http://www.cizgi-tagem.org/e-kampus/education.aspx?id=46 (JSP)
http://www.youtube.com/playlist?list=PLB59C6BBACE1001BB&feature=plcp (JSP)
http://vimeo.com/38128278 (JSF)


İngilizceniz yeterliyse kendi kaynağı da gayet güzel:
http://docs.oracle.com/javaee/5/tutorial/doc/index.html
http://docs.oracle.com/javaee/6/tutorial/doc/


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.



Okul Zil Programı

yilsoftzil

9786059223690
logo5

Esma-ül Hüsna

Ziyaretçi İstatistikleri

Bugün258
Dün311
Bu hafta569
Bu ay9303
Hepsi722184