JSP

JSP – Request Implicit Object – 10

JSP Wallpaper

Merhaba, bir önceki yazımda JSP – Out Implicit Object ‘ den bahsetmiştim. Bu yazıda ise JSP ile yazılım geliştirirken en çok kullanacağımız nesnelerden birisi olan request nesnesini inceleyeceğiz.

Request nesnesinin görevi bir HTTP isteği anında JSP sayfasındaki verileri Sunucuya iletmektir. Bu veriler; cookieler, başlıklar ya da kullanıcı tarafından girilmiş parametreler olabilir.

Request nesnesinin birçok metodu vardır. Biz bunlardan en çok kullanılan 15 tanesine değineceğiz.

  • getParameter(String name)
  • getParameterNames()
  • getParameterValues(String name)
  • getAttribute(String), setAttribute(String,Object)
  • getAttributeNames()
  • removeAttribute(String)
  • getCookies()
  • getHeader(String name), getHeaderNames()
  • getRequestURI()
  • getRequestURL()
  • getMethod()
  • getQueryString()
  • getServletPath()

 

1. getParameter(String degiskenAdi) :  Bu metot, yapılan request ile birlikte gönderilen parametreleri almayı sağlar. Metodun aldığı String tipindeki değişken gönderilen parametrenin “name” değeridir.

Örnek:

Aşağıdaki textbox’tan girilen değeri almak istiyorsak,

getParameter() metodunu çağırmalı ve parametre olarak name değerini vermeliyiz.

Not: getParameter() metodunun dönüş tipi String’dir. Dolayısıyla bir sayı gönderseniz bile önce String olarak alıp sonradan integer’a dönüştürmelisiniz.


2. getParameterNames() : request ile birlikte gönderilen tüm parametrelerin name değerlerini Enumeration tipinde döndürür.

Örnek:

Bu iki textbox‘ın name değerlerini almak istiyorsak,

getParameterNames() metodunu çağırırız.

Ekran Çıktısı

1


 

 

3. getParameterValues() : Name değeri aynı olan birden fazla parametreyi almaya yarar. Genelde checkbox’lar için kullanılır.

Örnek:

Aşağıdakine benzer bir durumda seçilen renkleri almak istiyorsak,

Seçilen renkler alınıp ekrana yazdırılıyor.

Ekran Çıktısı: 

2

 

3


 

4. getAttribute() ve 5. setAttribute() : Bu metotlar sayesinde request yapılırken beraberinde bir değişken gönderilebilir ve bu degişkenin değeri gidilen yerde alınıp kullanılabilir.

Örnek:

index.jsp sayfasında “isim” değişkenine  “KOD5” değerini set ettik,

sonuc.jsp’ye yönlendirme yapıldıktan sonra da orada bu değeri alalım.

Ekran Çıktısı

1

Not: setAttribute() metodunun ilk parametresi String ikinci parametresi Object tipindedir. Dolayısıyla ikinci parametre olarak her tipte veriyi kabul eder fakat getAttribute() ile bu değerler alınırken ilgili veri tipine dönüşüm yapılmalıdır.


6. getAttributeNames() : Bu metot hangi nesne üzerinden çağrılırsa, o nesneye setAttribute() metoduyla atanmış tüm değişkenlerin ismini Enumeration tipinde döndürür. Biz request üzerinden çağıracağız.

Örnek:

request nesnesine bir değişken ve ona karşılık gelen bir değer atayalım.(isim -> KOD5)

Şimdi requet nesnesi üzerinde tanımlanmış tüm değişken isimlerini getAttributeNames() metoduyla alalım

Ekran Çıktısı:

Burada varsayılan olarak request nesine atanan değişkenler de gelecektir. En altta ise bizim atadığımız değişken görünmektedir.

1


7. removeAttribute() : Bir nesneye atanmış değişkenlerin yok edilmesinde kullanılır. Bu metot kullanılarak bir değişken silindikten sonra tekrar ulaşılmaya çalışılırsa null döner.

Örnek:

removeAttribute() metodu kullanarak değişken siliniyor.

Ekran Çıktısı :
Değişken yok olduğu için null dönüyor.

2


 

8. getCookies() : Var olan cookieleri bir dizi halinde döndürür.

Örnek:

index.jsp’de bir cookie oluşturalım ve “siteAdi” değikenine “KOD5” değerini atayalım. Cookie’nin gidilen sayfada kullanılabilmesi için response.addCookie() metodu çağrılıp oluşturulan cookie parametre olarak verilmelidir.

Bir Cookie dizisi oluşturup getCookies() metodu ile var olan cookieleri döndürdük. Bir forEach döngüsü ile cookieleri gezip değişken isimlerini ve değerlerini ekrana yazdırdık.

Ekran Çıktısı:

siteAdi ve KOD5 değerlerimiz ekrana geldi. Burada ilk iki satırda sunucunun otomatik olarak oluşturduğu ikinci bir cookienin bilgilerini görebilirsiniz.

3


9. getHeader(String) ve 10. getHeaderNames() :  Browser bir sunucuya istek yaptığında beraberinde birçok bilgi gönderir. Bu bilgileri sunucu tarafında görmek ve kullanmak istersek bu metotları kullanırız.

Örnek: 

sonuc.jsp sayfasına gitmemizi sağlayacak bir link oluşturuyoruz.

Burada getHeaderNames() metodu header başlıklarını Enumeration tipinde döndürür. Aldığımız başlıkları getHeader() metoduna parametre olarak verdiğimizde o başlıklara ait değerleri döndürmüş oluruz.

Ekran Çıktısı:

4 5


 

Son 5 örnek benzer olduğundan hepsini tek örnek içinde ele alalım.

11. getRequestURL() : İsteğin yapıldığı adresin tamamını verir.

12. getRequestURI() : İsteğin yapıldığı adresin ana dizininden sonraki kısmını verir.

13. getMethod() : Yapılan HTTP isteğinin türünü verir.

14. getQueryString() : İstek yapılırken URL üzerinden gönderilen parametreyi döndürür.

15. getServletPath() : İstek yapılan JSP sayfasının adını döndürür.

Örnek:

Burada URL üzerinden “?site=KOD5” parametresi gönderdiğimize dikkat edelim.

sonuc.jsp sayfasında yapılan istekle ilgili bilgileri çekelim.

Ekran Çıktısı: 

6 7


 

Evet, request nesnesi ile ilgili anlatacaklarım bu kadar. Bir sonraki yazıda response nesnesine değineceğiz. Aklınıza takılan kısımları bana yorum kısmından ya da facebook üzerinden sorabilirsiniz. Görüşmek üzere..

 

Sakarya Üniversitesi Bilgisayar Mühendisliği 3.sınıf öğrencisi ve Özgür Yazılım Topluluğu üyesi. Java ile yazılım geliştirmeyi sever. Java’yı sevdiği gibi kahveyi de sever. Yeni teknolojilere meraklıdır. Araştırmacıdır. Motosiklet en büyük tutkusudur.