JSP Bean Kullanımı

Javada Kullanıcıdan formlarla alınan değerlerin Session’larda nasıl tutulduğunu JSP Giriş 1 isimli yazımızda değinmiştik. Sessionları anlattığımız o yazımızda arka planda nelerin yapıldığını değişkenlerin hangi class larda tutulduğunu pek göremiyorduk. Jsp de useBean kullanımında bu olayların nasıl gerçekleştiği daha açık bir şekilde görülmekte çünkü değişkenleri tuttuğumuz class’ımızı kendimiz oluşturuyoruz. Ve nesnesiyle bu değişkenlerimize ulaşıp set ve get metodlarıyla işlemler yapabiliyoruz. Şimdi bununla ilgili bir örnek yapalım.

Örnek : Kullanıcıdan Ad- Soyad, Mail, ve Şifresini girmesini istediğimiz bir index.jsp sayfamız olsun.

index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<html>
    <body>

        <form action="bilgi.jsp" method="POST">
            Ad Soyad: <input type="text" name="isim" value="" size="25" /><br>
            Mail : <input type="text" name="mail" value="" size="25" /><br>
            Passport: <input type="password" name="sifre" value="" size="25" /><br>
            <input type="submit" value="Gönder" />
        </form>  

    </body>
</html>

index.jsp sayfamızda aldığımız değerleri bilgi.jsp sayfasına gönderdiğimiz görülüyor.
Şimdi bilgi.jsp sayfamıza bakalım.

bilgi.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<jsp:useBean id="mybean" scope="session" class="test.TestBean"/>
<jsp:setProperty name="mybean" property="*"/>
<jsp:forward page="goster.jsp"/>

bilgi.jsp sayfamızda daha önceden görmediğimiz 3 kavram bulunmakta şimdi bunları anlatmaya çalışalım.

1 – useBean Oluşturma

<jsp:useBean id="mybean" scope="session" class="test.TestBean"/>

Yukarıdaki kodumuzda ismi yani id ‘si mybean olan ve tüm sayfalarda kullanabileceğimiz ulaşabileceğimiz (session) türde test.TestBean (test paketinde ismi TestBean) sınıfında var olan değişkenlerimiz var demektir.
TestBean’in kodlarınıda aşağıda vereceğim.

2 – useBean ‘in direk kendisinin bu sayfaya gelen değişkenleri otomatik alıp kaydetmesi.

<jsp:setProperty name="mybean" property="*"/>

Yukarıda kodda ise yapılan bulunduğu sayfaya diğer sayfalardan gelen tüm form değişkenlerinin değerlerini mybean id’sine sahip useBean’imizin değişkenlerin tuttuğu class’a kaydetmesi gerektiğidir. Bu kod bizim tek tek yapmamız gerekenleri otomatik yapmaktadır. (Dikkat ederseniz değişkenleri tuttuğumuz class adresini daha önceden mybean isminde oluşturduğumuz Beande vermiştik.)

3 – Jsp sayfa yönlendirme

<jsp:forward page="goster.jsp"/>

Jsp Giriş 1 isimli yazımızda daha önceden yönlendirme için aşağıda bulunan sendRedirect yönteminden bahsetmiştik. forward page metoduda bir nevi onunla aynı işi yapmakta. Jsp sayfasını başka sayfaya yönlendrmekte.

<% response.sendRedirect("./gidilecek.jsp");  %>

useBean’in verileri kaydettiği test paketinin içindeki TestBean Java class’ımızda şöyle olmalıdır.

TestBean.java

package test;

public class TestBean {

    private String isim,mail,sifre;

    public String getIsim() {
        return isim;
    }

    public void setIsim(String isim) {
        this.isim = isim;
    }

    public String getMail() {
        return mail;
    }

    public void setMail(String mail) {
        this.mail = mail;
    }

    public String getSifre() {
        return sifre;
    }

    public void setSifre(String sifre) {
        this.sifre = sifre;
    }
}

3 Kodunda ne iş yaptığını anlattık. Tekrar bahsetmemiz gerekirse index.jsp deki formda kullanıcıdan aldığımız verileri bilgi.jsp sayfamızda oluşturduğumuz useBean’imizde alıp test paketinin altındaki TestBean isimli java class’ımızın içine attık. Sonrada sayfamızı goster.jsp sayfasına yönlendirdik.

goster.jsp sayfamızdada verilerimi göstereceğiz bu sayede useBean’lerden nasıl değişkenleri aldığımızıda öğreneceğiz.

goster.jsp

<jsp:useBean id="mybean" scope="session" class="test.TestBean"/>

<html>
    <body>
        Girdiginiz Bilgiler:<br>
        Ad Soyad: <%=mybean.getIsim()%> <br>
        E-Mail: <%=mybean.getMail()%><br>
        Sifre: <%=mybean.getSifre()%><br>

        <a href="edit.jsp">Bilgileri Guncelleyin!</a><br>
        <a href="index.jsp">Ana Sayfaya Donmek icin Tiklayin!</a><br>

    </body>
</html>

Gayet anlaşılır bir şekilde verilerimizi useBean’imizinİsmi.getDegiskenAdi() metoduyla aldığımız görülmekte. Dikkat etmeniz gereken useBean’imizi kullanacağımız Jsp sayfalarımızın en tepesine aşağıdaki kodu bırakmayı unutmamamız.

<jsp:useBean id="mybean" scope="session" class="test.TestBean"/>
  1. Paylaşımlarınız için teşekkür ederim

Yorum Yap


Not - Bunları KullanabilirsinizHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*
Resimde gordugunuz kodu kutucuga yazin.
Anti-spam resmi