Session,Request,View,Application,Custom ve None(Scoped) aralarinda fark nedir?Hangisi hangi isi yapmak icin kullanilir?

soruldu: 28 Nis '12, 15:01

murad_qeribzadeh's gravatar image

murad_qeribzadeh
31346
cevap kabul oranı: 0%

değiştirildi: 28 Nis '12, 16:25

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183


Merhaba.

Aslında burada geçen scope isimleri, scope'lar arasındaki farkı vurguluyor.

None: Kapsamı none olan bir bean'in örnekleri çalışma zamanında oluşturulmaz ve saklanmaz. Ta ki başka bir bean tarafından talep edilmedikçe. Kapsamı none olan bir bean, başka bir bean tarafından talep edilip, bir örneği oluşturduğunda, bean kapsamı talep eden bean kapsamıyla eşlenir. Örneğin kapsamı none olan A bean'i, kapsamı request olan B bean'i tarafından talep edilmiş olsun. Bu durumda, talep eden bean, yani B bean'i varlığını sürdürdüğü sürece, A bean'i de varlığını sürdürecektir.

Request: Kapsamı request olan bean'lerin örneği çalışma zamanında oluşturulur ve bir tek HTTP talebi boyunca erişilebilir kalır. Aynı HTTP talebi sırasında olmak kaydıyla, kapsamı request olan bir bean, başka bir sayfaya yapılan navigasyonda varlığını sürdürür.

View: Kapsamı view olan bean'in örneği çalışma zamanında oluşturulur ve kendisinin çağrıldığı sayfada kalındığı sürece varlığını sürdürür. View kapsamı, request ile session arasında bir noktadadır diyebiliriz.

Session: Kapsamı session olan beean'lerin örneği çalışma zamanında oluştururulur ve HTTP oturumunda depolanır, oturum boyunca erişilebilir olurlar.

Application: Kapsamı applicaton olan bean'lerin örneği çalışma zamanında oluşturulur ve uygulamanın yaşam süresi boyunca bütün kullanıcılar için erişilebilir olurlar.

Bunlar dışında JSF 2.0 ile birlikte gelmiş iki yeni scope daha vardır.

Bunlardan birisi sorduğunuz Custom Scope'tur. İsminden de anlaşılabileceği gibi geliştiricilerin kendi özelleştirilmiş kapsamlarını JSF'e entegre edebilmesine olanak sağlamaktadır. Bir diğeri de Map gerçekleştirimi olan Flash Scope'tur.

Bir bean'in kapsamı, onun ömrünü belirlediğine göre, bu kapsamlardan hangisini tercih edeceğiniz, gerçekleştirmek istediğiniz işleme göre değişecektir...

permanent link

cevaplandı: 28 Nis '12, 15:19

hakdogan's gravatar image

hakdogan
2.1k31926
cevap kabul oranı: 43%

Tesekkur ederim

(29 Nis '12, 12:18) murad_qeribzadeh murad_qeribzadeh's gravatar image

Mesela DAO üzerinde işlem yapacak bir bean için hangi kapsam kullanılmalıdır?

permanent link

cevaplandı: 12 Tem '12, 17:43

querman's gravatar image

querman
391162028
cevap kabul oranı: 0%

Bu işler için genelde Stateless EJB'ler kullanılıyor. Fakat EJB kullanmayacaksan RequestScoped kullanılabilir.

(13 Tem '12, 12:34) UsTa UsTa's gravatar image

@querman Bu uygulama ve ihtiyacına göre değişir. Zorunlu olmadıkça session scope kullanma taraftarı değilim. Requestler arasında değerlerine erişmek zorunda olduğumuz nitelikler söz konusu ise view scope kullanmayı tercih ederim...

(13 Tem '12, 17:17) hakdogan hakdogan's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×281

Soruldu: 28 Nis '12, 15:01

Görüntüleme: 3,046 kez

Son güncelleme: 13 Tem '12, 17:17

powered by BitNami OSQA