Merhabalar
İki sorum olacak;
1. JSP de örnek login ekranından giriş yapıldığında session a user bilgilerini setlediğimizde istediğimiz herhangi bir servlette veya controllerda getleyip user bilgilerini kullanabiliyor muyuz? Amacım aslında user bilgilerini her jsp sayfasında kullanıp database querylerinde kullanabilmek user bazlı kısıtlama yapabilmek? her sayfa da aşağıdaki geti yaptığımda aynı değerleri alabilecek miyim?
HttpSession session = request.getSession(true);
Customer c = (Customer) session.getAttribute(“Customer”);
2. Eclipse de örnek bir proje mevcut ve session kontrolünü yapmak istiyorum. Projeyi iki kere Run edip browserda iki sekmede projeye farklı kulanıcılarla login oluyorum. Ancak birinde yaptığım update işlemi sonrasında diğer kullanıcı bazı bilgileri çektiğinde ilk sessiondaki user bilgilerini getiriyor. Yani sessionlar karışıyor. Burda sorun eclipse de 2 kere run etmem midir projeyi acaba?
Şimdiden Çok Teşekkürler,
Erkan.
1 cevap: evet
2 cevap: İki kere run etmekden kastın ne olduğunu pek anlayamadım. İki kere run etmen için iki farklı instance çalıştırman lazım. İki instance için de farklı portlar kullanman lazım. Ben eclipse de hiç yapmadım. Zaten teorik olarak bakarsak ikinci run etmen, “port already bind” gibi bir hata alman lazım.
İki sekmeden açıp birbirindeki bilgiyi çekmen de normal bir durum. Chrome, Firefox, vs. bunlar ayrı tablar için ayrı client id oluşturmaz. Hepsinde tek olur. Yani developer tools ile bir izleme yaparsan request payload içinde jsession_id bilgilerinin aynı olduğunu göreceksin. Bunlar aynı sunucu uygulamasına (JSP) bağlanır ve kendilerinin aynı kişiler olduğunu söyler. O yüzden farklı sessionlara giremez. Ya gizli sekme gibi birşey açman lazım ya da farklı tarayıcılar kullanman lazım.
Selamlar,
Dediğiniz şekilde farklı tarayıcı kullanınca bilgiler karışmadı. Çok sağolun..
Görüşmek üzere
Erkan