17 Mart 2015 Salı

JSF scope kavramı

ManagedBean Life Cycle

Bir ManagedBean'in yaşam döngüsünü anlamak için scope kavramını iyi öğrenmek gerekiyor.
Bir ManagedBean'den kaç tane yaratılacak, kaç kez kullanılacak, ne kadar RAM'de kalacak; bunlar önemli kararlardır.

View scope

Bir sayfadan diğerine gittiğinde yeni bir tane oluşur.
Yeni request oluşturunca da yeni oluşur.

Request scope

Yönlendirmeyle gidilen bir sonraki sayfada bilgiye erişebiliriz.
Fakat yeni bir sayfaya gidersek artık ulaşamayız.
Örneğin bir haber sitesinde yazarların makalelerini okumak için isim seçtiğimizde x yazarında da, y yazarında da aslında aynı sayfaya gidiliyor.
Sadece veritabanından farklı veri çekilip gösteriliyor.
Böylece kullanıcıya yeni sayfa getirilmiş gibi görünüyor.

Session scope

HTTP Session ile aynı.
Kullanıcı adı ve şifre giriliyor.
Her client'a bir tane managedBean oluşturuluyor.
Yani her bilgisayara ayrı bir tane.
Kullanıcı sistemden çıkana ya da timeout olana kadar, ya da biz bilerek sistemden atana kadar kalır.

Application scope

Singletondır. Bir tane oluşur. Bütün kullanıcılar ona ulaşır.
Sayfanın request sayısını hesaplamak için örneğin sayfa sayacı kullandığımızda, her client girişinde bu sayaca erişip bir adet artırıyor.
Yani her client onu görüyor ve erişiyor.

Hiç yorum yok:

Yorum Gönder