Bu makalemizde session oluşturma ve düzenleme işlemlerini ve JSP’ler arası veri aktarımını ve Java’da sayfa yönlendirmeyi inceleyeceğiz.
Bu konuyu bir uygulama üzerinde detaylı olarak inceleyelim.
Örneğimizde textBox’a bir isim yazıp butona tıkladığımızda yazdığımız değeri session’a aktarıp yeni bir sayfaya yönlendireceğiz. Bu sayfada önce eski session değerini ekrana yazdıracağız. Sonra session’a yeni değer atayacağız ve atadığımız son değeri de ekranda yazdıracağız.
Hem sayfalar arası veri aktarımını hem de sayfa yönlendirmeyi görebilmek için 3 jsp dosyası oluşturuyoruz.
index.jsp
<body>
<form method="post" action="sessionolustur.jsp">
Ad : <input type="text" name="ad"/>
<br/>
<input type="submit" name="btTikla" value="Session Oluştur">
</form>
</body>
|
- index.jsp sayfamızda sessionolustur’a verilerinin gönderileceği bir formumuz var. Bu formdaki veriler submit butonuna tıkladığımızda sessionolustur.jsp sayfasına yönlendirilecektir.
sessionolustur.jsp
<%
String ad = request.getParameter( "ad" );
session.setAttribute( "ad", ad );
response.sendRedirect("sonuc.jsp");
%>
|
- sessionolustur.jsp sayfamızda, index.jsp’deki formdan gelen verileri almak için request.getParemeter() methodunu kullanıyoruz. Parametre olarak aldığı “ad” değeri ise formumuzda textBoxımıza verdiğimiz isimdir.
- Session oluşturmak için session.setAttribute() methodu kullanılmaktadır. İlk parametresi session’ın adı (istediğiniz ismi verebilirsiniz), ikinici parametremiz ise session’ın değeridir. Session’ın değeri object türündedir. Session’da istediğimiz türden değeri tutabiliriz.
- Session’a ekleme işlemi tamamlandıktan sonra sonuc.jsp’ye yönlendirilip burada session’ın değerini görmek istiyoruz. Bu işlemi de Java’da response.sendredirect() methoduyla gerçekleştiriyoruz.
sonuc.jsp
<body>
<%
String metin = "";
String s = session.getAttribute( "ad" ).toString();
metin += s + "<br/>";
session.setAttribute("ad","Ugur");
metin += session.getAttribute("ad").toString();
out.print(metin);
%>
</body>
|
sonuc.jsp’de yapılan işlemler:
- metin isimli değişkende ekrana yazdıracağımız veriyi tutmaktayız.
- session.getAttribute() fonksiyonu ile “ad” isimli session’ın değerini alıyoruz. Sonuç object türünden döndüğü için toString() ile string’e dönüştürüyoruz.
- session.setAttribute() methodu ile “ad” isimli session’a yeni değerini atıyoruz (değerini değiştiriyoruz).
- Sonraki satırda session’ın yeni değerini okuyup metin değişkenimize ekliyoruz.
- out.print() methodu ile metni ekranda yazdırıyoruz.
Projeyi çalıştırdığımızda ekran çıktısı aşağıdaki gibi olacaktır.
index.jsp
sonuc.jsp
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi