04_JSF_Yaşam_Döngüsü(lifecycle)

Merhaba arkadaşlar, bu yazımda JSF de yaşam döngüsünden(lifecycle) bahsedeceğim. İlk olarak yaşam döngüsünün ne olduğunu açıklayalım:

Yaşam döngüsü nedir?

Yapılan uygulamalarda isteklerin ve cevapların belli bir sıralamayla ilerlemesine yaşam döngüsü nedir.

JSF Yaşam Döngüsü

JSF de yaşam döngüsünün fazları 6 tanedir. Bu yaşam döngüsü ilk önce bir istek(request) ile başlar ve Restore View ile yaşam döngüsüne girer.

1-)Restore View: JSF sayfası için bir istek yapıldığında, örneğin bir bağlantı veya düğmenin tıklatıldığı durumlarda, JSF uygulaması geri yükleme görünümü aşamasını başlatır. Bu aşamada Bileşen Ağacı eğer yok ise oluşturulur, oluşturulmuşsa da restore edilir. Olay yakalayıcıları ve geçerlilik denetleyicileri bileşenlere bağlanır ve bu yapı FacesContext nesnesinde tutulur. O anki isteğe ait bilgiler de FacesContext nesnesinde tutulur. Bu aşamadaki işlemler ViewHandler sınıfındaki restoreView metodu ile gerçekleştirilir.

2-)Apply Request Values: Kullanıcının Form’a girdiği bilgiler bu fazda alınır ve ilgili bileşenin hafızasında saklanır. Bu aşamada girilen bilgilerin bileşen ağacındaki her bir bileşene ayrı ayrı yüklenmesi işlemi UIComponentBase sınıfındaki processDecodes adındaki metot ile yapılır.

3-)Process Validations: Bu fazda dönüşüm(Conversion) ve doğrulama(Validation) işlemi gerçekleşir. Eğer convertion yada validation işleminde bir hata olursa, hata mesajı, FacesMessage, FacesContext objesine eklenir ve yaşam döngüsü Render Response fazına ilerler ve hata mesajıyla aynı sayfayı görüntüler.

4-)Update Model Values: Kullanıcının girdiği bilgiler, dönüşüm ve doğrulama işlemlerini doğru gerçekleştirerek Process Validations fazını geçerse Managed Bean içindeki değişkenlere aktarılır. Bu işlem UIComponentBase sınıfındaki processUpdates adındaki bir metot ile gerçekleştirilir.

5-)Invoke Application: Managed Bean sınıflarımızda ve JSF sayfalarımızda listener, action ve actionListener olarak atadığımız metotların çağrılması bu fazda gerçekleşir. Bu aşama UIComponentBase sınıfındaki processApplications metodu ile gerçekleşir.

6-)Render Response: JSF yaşam döngüsünün son fazıdır. Bu fazda jsf sayfasının son hali işlenir ve response kısmına verilir. Cevap işlemeden önce kullanıcıya döndürülecek bu sayfa yapısı cache belleğe kaydedilir ve bu işlem UIViewRoot sınıfındaki saveState metodu ile gerçekleştirilir.

JSF yaşam döngüsünü bu şekilde anlatmış oldum. Yazımı burada bitiriyorum diğer yazılarımda görüşmek üzere…

 

 

Print Friendly, PDF & Email

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.