JSF (Java Server Faces)-1

JSF

JSF Beanlerden olusur.Bean basit bir java sinifidir.Getter setter lar sayesinde Beanler Jsf sayfalarıyla etkileşim halinde olur. Methodlarımızı,projeyle ilgili gerçekleştireceğimiz tüm işlemleri oluşturduğumuz Beanlerin içine yazarız. Bir paket altında tutulur. Projenin tasarim kismi olan görsel kısmıda .xhtml uzantılı olan sayfalardır. Bu sayfalar projeye görsellik kazandırır. JSF te classların görünmesi için faces-config.xml dosyası oluşturulur. Eğer oluşmamışsa kendimizde oluşturabiliriz. Bizim Beanlerimizin tanımlandığında ayarların tutulduğu dosyadır.
Bir Jsf sayfası nasıl oluşturulur ondan bahsetmek istiyorum. Netbeanste file->new project->web application seçmemiz gerekiyor.

Ekran Alıntısı1

Ekran Alıntısı

Projemize bir isim verip server alanını Glassfish Server3.1.2  seçip Java EE Version u Java EE 6Web seçiyoruz.Karsimiza çıkan framework ekranında JavaServerFaces olan kutuyu tıklıyoruz.Karşımıza çıkan seçeneklerden Libraries kısmından JSF2.0 seçiyoruz.

Ekran Alıntısı2

Ekran Alıntısı4

Components kısmında projemizin görsel kısmını ne şekilde yapmak istiyorsak ona göre bir tanesini seçiyoruz.

Ekran Alıntısı9

Gördüğünüz gibi ICEFACES, Richfaces ve Primefaces diye 3 seçeneğimiz var. Fakat ben şu an için birşey seçmiyorum. Daha sonraki yazılarımda Primefaces seçeneğini işaretleyip projemi ona göre ilerletcem.

Projenin ağaç yapısı şu şekildedir.

Ekran Alıntısı5

Görüldüğü gibi faces-config dosyası kendiliğinden oluşmadı. Bu yüzden kendimiz ekleyeceğiz. Projemizin üstüne sağ tıklayıp->new->Jsf Configuration seçip isim veriyoruz ve faces config dosyamız hazır oluyor.

Ekran Alıntısı6

Ekran Alıntısı7

Projemizin ağaç yapısında ki son hali şu şekildedir.

Ekran Alıntısı8

Şimdi faces config in içine yazılacak taglardan bahsedeceğim.
1-Managed Bean: Beanlerimizi bu tag içerisinde tanımlıyoruz her bir managed-bean tagında bir adet bean tanımlanır.

2-Managed-bean-name : JSF sayfalarında kullanacagımız ismi burada tanımlıyoruz. JSF sayfaları Class’nızın ismini bilmez sadece buraya yazdığınız ismi bilir ve bu isimle sayfa içerisinde kullanılmalıdır. Burada vereceğiniz isimde özgürsünüz ama genel yöntem Class’ınızın ilk harfini küçük tanımlamaktır.

3-Managed-bean-scope : faces-config.xml’e eklediğiniz bean’in ne kadar süreyle bellekte tutulacağını gösterir. 4 adet parametre alır.
a-request : Sayfa her çağırıldığında oluşturulur ve sayfa gösterimi ile sonlanır. Bir çok sayfada bu scope’u kullanırız çünkü bellekte request-response süresince kalacağı için belleğe fazla bir yük getirmez.

b-session : Kullanıcı uygulamamıza ilk eriştiğinde bir oturum açılır ve bu oturum kullanıcı tarayıcısını kapatana kadar devam eder. Bu süre içerisinde saklamak istediğimiz Bean’leri session scope’ta tutarız. Örneğin bir kullanıcı sisteme kendi hesabı (account) ile girdiğinde tarayıcısını kapatana kadar  uygulamada takip edilmelidir. Bu tür işlemleri session scope’ta saklarız. Ancak unutulmamalıdır ki bu işlemin bize belli bir bellek maliyeti olacaktır. O nedenle sadece gerekli olması durumunda bu scope’u kullanmalıyız.

c-application : Bu scope uygulama başlatıldığında açılır ve uygulamayı durdurana kadar bellekte yer işgal eder. Burada aktif kullanıcı sayısını ya da kalıcı bir bağlantı nesnesini tutabilir. Uygulama başlarken veritabani bağlantısını yaratıp application’da saklarız ve gerektiğinde her yerden erişip çağırabiliriz.

d-none : Bu bean’in hiçbir scope’a ait olmadığını gösterir. Henüz hiçbir yerde kullanmadım.

Jsf Yaşam Döngüsü

Jsf yaşam döngüsünde 6 aşama vardır.

1-Restore View : Bu aşama kullanıcını sayfada bir butonu ya da linki tıkladığı aşamadır.

 2-Apply request : Bu aşamada ekrandaki değerler alınır ve bileşenler içerisinde saklanır.

 3-Process validations : Bu aşama değerlerin kontrol edildiği aşamadir. Öncelikli olarak required kontrol edilir. Sonra validator’ler kontrol edilir. En sonda ise converter’lar kontrol edilir.

 4-Update Model Values : Değerler process validation’i geçebilir ise artık bu noktada Managed Bean’imizdeki değerlere atanır.

5-Invoke Application : Bu aşamada bean’deki methodlarımız çagırılır. Action ve actionListener’a yazdığımız methodlar.

 6-Render Response : Yeni oluşan sayfa render edilerek kullanıcıya gönderilir.

Temel olarak bir Jsf sayfasının bu şekilde oluşturulduğunu öğrendik. Umarım bir yararı olmuştur.

İyi Çalışmalar..

Hakkında Ali Demirci

Ben Ali Demirci... 1991 Ankara doğumluyum. Ankara da yaşıyorum. Fırsat buldukça öğrendiklerimi burada paylaşıyorum. Java ile haşır neşirim. Android'den asla vazgeçemem. Öğrenmeye bayılırım. Yeni şeyler öğrendiğimde, geçmişteki projelerimde keşke böyle yapsaydım diye çok üzülmüşümdür. O yüzden öğrenmekten korkmayın. Takıldığınız yerleri mutlaka sorun. Biliyorsam yanıt veririm. Bilmiyorsam yol gösteririm. Teşekkürler :)

Kontrol Et

İşletim Sistemlerine Giriş

İşletim sistemleri, bilgisayar donanımları ve kullanıcılar arasında iletişim sağlamak amacıyla yazılmış olan programlardır. Bilgisayar Nedir? …

Bir Yorum

  1. Geridönüş JSF Nedir? | F@tih Durmus's WebBlog

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.