Yazan : Şadi Evren ŞEKER

JSP kullanarak bir oturumun takip edilmesi mümkündür. Basitçe bir kullanıcının siteye bağlanmasından başlayarak sitede yaptığı her işlemin takip edilmesi ve siteyle olan iletişiminin kayıt altında tutulması örneğin kullanıcı adı ve şifresinin bir kere sorulduktan sonra bütün sayfalardan erişilebilmesi mümkündür.

Bu işlem aslında web sunucusu (web server) üzerindeki bir oturum (session) ile yapılmaktadır. Kullanıcının verileri web sunucusunda durmaktadır ve JSP dosyaları bu bilgilere sunucu üzerinden erişmektedir. Nitekim sunucuya bağlanan her kullanıcı için ayrı bir oturum bilgisi bulunmakta ve bu bilgilerin takibini web sunucusu yapmaktadır.

<HTML>
<BODY>
<FORM METHOD=POST ACTION="kaydet.jsp">
Adınız? <INPUT TYPE=TEXT NAME=kullanici SIZE=20>
<P><INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>

Yukarıdaki kodda basit bir form oluşturulmuş ve form gönderilmesi (Submit) durumunda “kaydet.jsp” dosyasının çağrılması söylenmiştir.

Yukarıdaki  çalışmış halinden de görüleceği üzere bir metin kutusu (textbox) ve bir düğmeden (buton) oluşan yukarıdaki sayfada kutuya bir isim girilmesi ve “Sorguyu Gönder” düğmesine basılması ile sorgu sunucuya yollanacak ve kaydet.jsp dosyasına POST olarak parametre geçecektir.

Kaydet.jsp dosyasında ise :

<%
   String isim = request.getParameter( "kullanici" );
   session.setAttribute( "kullaniciIsmi", isim );
%>
<HTML>
<BODY>
<A HREF="deneme.jsp">Deneyelim Bakalım</A>
</BODY>
</HTML>

Yukarıdaki şekilde yazılmış olan kodda öncelikle POST olarak sayfaya gelen kullanıcı değeri bir JSP değişkenine (String tipindeki isim değişkenine) konulmuş ardından da session nesnesinin setAttribute fonksiyonu ile oturumda oluşturulan “kullaniciIsmi” isimli değişkene değeri atanmıştır.

Bir defa bu değişkene değer atandıktan sonra istenilen sayfadan bu değere ulaşmak mümkündür. Nitekim yukarıdaki sayfada bulunan bir bağlantı (link) ile gidilen deneme.jsp sayfasına herhangi bir bilgi geçirilmemiş olmasına rağmen :

<HTML>
<BODY>
<%= session.getAttribute( "kullaniciIsmi" ) %> Sitemize hoş geldiniz.
</BODY>
</HTML>

Kodunu içeren bu sayfadan kullaniciIsmi isimli oturum değişkenine (session variable) erişilerek ekrana basılmıştır.

Yorumlar

  1. taha

    hocam makale için teşekkür ederim. Benim bir sorum olcaktı deneme.jsp sayfasını refresh ettiğim zaman kullanıcı ismini tekrar göstermiyor. ama php session yapısında sayfayı ne kadar refresh etsekde sahip oldugu değeri gösteriyor hafızadan silene kadar. Bu şekilde bir yapıyı nasıl kurabilirim jsp de
    şimdiden teşekkür ederim

  2. Şadi Evren ŞEKER Article Author

    JSP session bilgisi, zaman aşımı olana kadar hafızada kalır. PHP ile özdeş çalışır. Yukarıdaki kodu, yazdıktan sonra “deneyelim bakalım” yazılı linke tıkladığınızda yönlendirildiğiniz sayfayı refresh etseniz bile aynı yazıyı görmeniz gerekir. Bunu deneyip göremiyorsanız başka bir problem olması muhtemel. Böyle bir durum ile karşılaşıyorsanız, browser, web sunucu gibi bilgileri verirseniz (ve hatta sunucu loglarını) veya kodda değişiklik yaptıysanız, kodunuzu yollarsanız daha detaylı bakabilirim.

    Başarılar

taha için bir cevap yazın Cevabı iptal et

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