İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır

Session'lar

Session Kavramı

Bir kullanıcının aynı sitede farklı sayfalarda gezinirken kendisini takip etmek için ona ait bir session olmalıdır. Aksi takdirde aynı sayfayı birden fazla kişi çağırabileceğinden hangisinin hangisi olduğunu anlamak, yani bir kullanıcıyı diğerinden ayırmak mümkün olmaz. Bir kullanıcı sisteme giriş yaptığında mutlaka bu durum session'unda belirtilmeli ve diğer bütün sayfalardan bu session'a erişilebilmelidir.

HTTP protokolü 'durumsuz' ('stateless') bir protokol'dür bir request'le diğeri arasındaki bağlantı kurmak için pek fazla bir araç vermez. Session'lar ApplicationServer'da bir kullanıcının tıklamaları arasında bağlantıyı sağlarlar.

HttpSession

HttpSession, HttpServletRequest class'ından

HttpSession session=request.getSession();

biçiminde bir ifadeyle elde edilebilir. Bu class bir kullanıcıyı diğerinden ayırmaya yarayan 'biricik' (unique) bir id (kimlik numarası) barındırır. Bu id

String id=session.getId();

şeklinde elde edilebilir.

Yeni Session Yaratma

Bir session'un yeni olup olmadığı, yani kullaınıcının siteye yeni gelip gelmediği HttpSession'un isNew() methoduyla anlaşılabilir. Aslında request'deki getSession() methodu session yoksa yaratıp vermektedir. Yaratması istenmiyorsa

HttpSession session=request.getSession(false);

biçimde kullanılabilir. Bu durumda session daha önceden yaratılmamışsa bu method "null" döndürecektir.

Session'da Value Saklama

Session'larda nesneler saklamak mümkündür. Bir nesne belli bir adla session'da 'bağlanır' ('bind' edilir.) Ve gerekirse başka bir servlette aynı adla geri alınabilir. Örneğin kullanıcı ismi bir servlette

session.putValue("username","ali");

şeklinde girilir. Başka bir servlet'te de

String value=(String)session.getValue("username");

biçiminde alınabilir. Bu değerin session'dan silmek için

session.removeValue("username");

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır