JSF Yazmaya başladığımızdan beri yavaş yavaş sevmeye başladım, ve en son jsp’den farklı olmak üzere; daha önce kullanmadığım bir  jsf sayfaları arasında kullanılabilecek session ihtiyacı doğdu.

JSF’de update’ler özellikle PrimeFaces mobilde session gerekliliğini büyük oranda kaldırmış olsa da normal jsf sayfalarında gerekliliği devam etmektedir. JSF konusunda çok çok iyi bilen arkadaşım Muhammed’e hangi session’u kullanayım diye sordum, sağolsun şu cevabı verdi.

Managed Bean’de Session Scope da kullanabilirsin ama filter vb şeyler yazıyorsan direk session üzerinde işlem yapmak için HttpSession nesnesini kullanabilirsin. Servlet kullanacaksan HttpSession yerine zaten ServletRequest/HttpRequest nesnesi içinde session barındırılıyor oradan kullanabilirsin. Ayrıca session’ın iç yapısını özelleştirebilirsin. Bir class yazıp bunun içinde bir httpsession nesnesi oluşturup istediğin nesnelerin get ve setleri içinde sessiondan okuma ve session dan yazma yaparak bunun üzerinden session’a yazdığın ek özelliklere de ulaşabilirsin.

Bende araştırmaya başladım aklıma session scope yattı ve uygulamaya başladım. Normal bir managebean requestscope ile yapısı aynı olmakla birlikte tek fark requestscope yerine sessionscope yazmamızdır.  Örnek aşağıdadır.

@ManagedBean(name = “Beans”)
@SessionScoped
public class Beans implements Serializable {

int a
getset();

}

Diğer session tiplerini öğrendikçe onları da yazmayı düşünüyorum.

Teşekkürler: http://www.makosan.net/

Yazı’daki hataları uyardığı için Eren’e teşekkürler 🙂

Reklamlar