Context ve Session Scope Kullanımı

Javada üç adet temel scope vardır.Bunlar Context , Request ve Session’dur.Bu yazımda Context ve Session Scope kullanımı ile ilgili ufak örnek yapacağız.En küçük kapsamlı scope Request Scope’dur.Request oluşup response dönene kadar ki süreci kapsar.Bunun bir üstü Session Scope’dur.Kullanıcının tarayıcıyı açıp kapatana kadarki geçen süre içerisini kapsar.Fakat farklı aynı bilgisayar üzerinde farklı tarayıcılardan erişmeye çalıştığımızda Session değerimize ulaşamayacağız.Context Scope ise yine tarayıcı kapanana kadarki geçen süreyi kapsar.Farklı tarayıcıdan ulaşmak istersek istediğimiz değerlere ulaşabiliriz.
İlk olarak Context Scope ile başlayalım. “index.jsp” dosyamızı oluşturalım ve içeriğini düzenleyelim.
Context ve Session Scope Kullanımı
Burada index.jsp dosyasındaki “Context Scope” tıklanma işleminde ContextScope servlet dosyasını çağıracağını belirtiyoruz.
Context ve Session Scope Kullanımı
Context Scope olduğu için getServletContext() yardımıyla username ve password değerleri atıyoruz.GetContextScope isminde Servlet oluşturalım ve Context içerisindeki değerlerimizi yazdıralım.
Context ve Session Scope Kullanımı
Şimdi projemizi Chrome üzerinden çalıştıralım.İlk olarak ContextScope sınıfımızı çalıştıralım ve username password değerlerine atama işlemi yapalım.Ardından GetContextScope sınıfımızı çalıştıralım ve username ve password değerlerimiz ekrana yazılacaktır.
Context ve Session Scope Kullanımı
Ardından farklı bir tarayıcımız üzerinden tekrar GetContextScope sınıfımızı çalıştıralım.
Context ve Session Scope Kullanımı
Farklı tarayıcı üzerinde ContextScope sınıfımı çalıştırmadığım halde username ve password değerlerine GetServletScope üzerinden erişebildim.Bu olay Context Scope’dur.Fakat Session Scope olsaydı sadece o tarayıcı üzerinden erişebilicektim.Session Scope’ta başka bir tarayıcı üzerinden direkt olarak GetServletScope sınıfımı çalıştırdığımda null değerler karışımıza çıkacaktı.

Proje dosyasına buradan ulaşabilirsiniz.

Bir cevap yazın

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