Salı, Temmuz 24, 2007

Session & Scope

Sunucu tarafından oluşturulan oturum olarak tanımlanabilir.Herhangi bir ziyaretçi sitemize ilk girdiği anda,onunla ilgili session başlatılmış olur.Ziyaretçi,bir sayfadan diğerine geçse bile,eğer bazı session değişkenlerine onunla ilgili bilgi atamışsak,bu bilgilier silinmez.Genel olarak kullanılacak olan sessionların bir kere tanımlanması yeterli olacaktır.Sessionlar sitemizi dolaşan ziyaret aktif olarak sistemde kaldığı sürece devam etmektedir.Sonlanabilmesi ya bizim ya da veri tabanının belirleyeceği süre içerisinde olabilmektedir.Fakat aklımıza gelen bir soru eğer kullanıcı sistemden signout ile çıkış yaptığı zamanda damı bu şekilde bir süre geçmesi beklenecek.Beklenme süresi bu durumda ortadan kalkmakta ve ziyaretçinin tuttuğumuz kullanıcısını boşaltığımız için direk sonlanma gerçekleşmiş olacaktır.
Bizim kullandığımız sessionlarıda kendi içlerinde iki grupta sınıflandırabiliriz.Session Scope ve Request Scope.

Bir HTPPSession temsil edilmesini sağlamaktadır.Tuttuğumuz session bütün login evresi oyunca devam etmektedir.

HTTPServletRequest temsil edilmekte ve servis çağırımı tetiklenmektedir.
Daha basitçe açıklamak gerekirse ,kullandığımız session lar ziyaretçinin sitede bulunduğu sürece devam etmektedir.Bu da veritabanımız tarafından sessionların tutulduğu sanal tabloda aşırısı kayda sebep olacaktır.Bu durumda istenmeyen durumlar arasında yer almaktadır.Bu durumu önleyebilmek için ise request scope kullanılmaktadır.Request scope ,eğer bütün ziyaret boyunca kullanılmayacak olan bir session tutmak istersek bunu request scope yöntemi ile sağlayabiliriz.
Aralarında ki farkları örnekler ile açıklamak gerekirse;Session Scope bir alışveriş sitesinde kullanılan alışveriş sepeti olarak anlatılabilir.

Request Scope ise kullandığımız sayfada anlık değerler tutmak istiyorsakta request scope kullanılabiliyor.

Hiç yorum yok: