JSP ile Veri Tabanına Kayıt Ekleme (MySql)

JSP Dersimizin bu bölümünde JSP ile Veri tabanına kayıt ekleyeceğiz.
*
JSP Sayfamızda Ad, Soyad ve İl alanlarımız olacak. Kullanıcı bu formu doldurup kaydet butonuna basacak ve bu bilgiler veritabanımıza kayıt olacak.
*
Formumuzu resimdeki gibi tasarlayacağız.

 

Jsp ile Kayıt Formu

Bu tasarımın kodları ise

 

Bu sayfamızın form elementi “post” yolu ile verilerimizi kontrol.jsp sayfasına gönderecek. Bütün işlem kontrol ettirme sayfasında olacak ve haliyle de java kodlarımız da o sayfada olacak.

Konrol.jsp sayfasında yapılacak işlem eğer verilerimiz veritabanımıza kayıt oldu ise Kaydınız Veritabanımıza Yapıldı. Yapılmadığı bir durumda ise Kaydınız Veritabanımıza yapılmadı yazısı gösterecektir.

Şimdi Kontrol.Jsp sayfamızı yazalım.

Bu sayfamızda dikkat edilecek husus kayıt ol formundaki elementlerin “name” lerini almak olacak.

Jsp Sayfamızda import edeceğimiz kütüphaneleri ekleyelim öncelikle.

 

 

 

Bu kodlarla dil tanımlarımızı ve kütüphanelerimizi ekledik. Şimdi yapacağımız işlem ise formdan kontrol.jsp sayfamıza gelen verileri almak olacak.

 

Koddan da anlaşıldığı üzere request.getParameter fonksiyonu diğer formdan gelen verileri almaktadır.

Şimdi Veritabanı bağlantımızı yapalım. Jsp Veritabanı Bağlantısını detaylı olarak anlatmıştım.

 

Buraya kadar neler yaptık bir bakalım.

  • Kayıt Formu oluşturduk.
  • Kontrol sayfamızdan parametreleri aldık
  • Mysql bağlantımızı yaptık.

Şimdi sıra geldi bu verileri veritabanımıza kayıt etmeye.

Verilerimizi veritabanımıza kayıt etmenin bir çok yolu var ama ben PreparedStatement denilen yöntemle yapacağım.

Veritabanımıza kayıt işlemi için gerekli kodlarımızı yazalım. Açıklamayı ise ardından.

 

 

PreparedStatement değişkenimizi yazdık ve o değişkene SQL komutunu yazdık. Values kısmındaki değişkenleri aynı veri tipine göre sırasına göre yazdık. preStmt.executeUpdate() komutu ile veritabanımıza gönderdik ve kapattık. En son olarak ise bağlantımızı kapattık.

Diğer JSP Dersleri için tıklayınız.

17 Yorum

  1. Işılay

    çok güzel bi yazı çok işime yaradı yalnız burdaki herşeyi adım adım yaptım ama veritabanına kayıt yapılamadı diyo neden olabilir? şimdiden teşekkür ederim 🙂

    • Burak
      Author

      Teşekkür ederim. Veritabanına kayıt yapılamadı hatası alıyorsanız.
      try {

      PreparedStatement preStmt;
      preStmt = con.prepareStatement(“INSERT INTO KULLANICI(ADI,SOYAD,il) VALUES (?,?,?)”);
      preStmt.setString(1, AD);
      preStmt.setString(2, SOYAD);
      preStmt.setString(3, il);
      preStmt.executeUpdate();
      preStmt.close();

      con.close();
      out.println(“Kaydınız Veritabanımıza Yapıldı”)

      }

      kod öğesini tekrar inceleyin. Veritabanınızda ki alanlar kadar ? koymanız gerekmekte. Ve alan adlarınızın aynısını sql sorgusundaki ile aynısı olmasına dikkat etmenizi öneririm.

  2. Işılay

    tamam çok teşekkür ederim sorunu hallettim veritabanı kısmında hata yapmışım tekrar teşekkürler 🙂

  3. Burak D.

    evet mssql i kastettim. bağlantıda hep sorun yaşıyorum bu tarz bi örneğiniz varsa benimle paylaşırsanız çok sevinirim…

  4. kemal

    Merhaba;

    JSP ile bir script yazarken mysl baglantısını nasıl yapmamız gerekiyor? yani veri tabanı işleminden önce bağlantı kodlarını tekrarmı yazacağız?
    php deki gibi bir method oluşturup o methodu kullanarak yapabiliyormuyuz?

    • Burak
      Author

      Evet bir method ya da class yapıp tekrar tekrar kullanabilirsiniz. Yapmanız gereken sadece bağlantı kodlarını bir class’a alıp jsp sayfasına import ederek değerleri çekmek.

  5. Samet

    iyi sabahlar burak bey,
    Yaptıklarınızı adım adım izledim ve gerçekleştirdim. Fakat kontrol.jsp ye post edilince localhosta bağlanamıyor. Sebebini anlamadım. Sizce ne gibi bir hata olabilir?
    Teşekkürler.

    • Samet

      Sorunu buldum. Post edilince Tomcat kapanıyormuş. İyi de neden oluyor onu çözemedim. Böyle bir sıkıntı yaşadınız mı hiç ?

      • Burak
        Author

        Samet bey merhabalar, Tomcat’ın kapanması sorununu çok fazla yaşayanlardan biriyim. Sebebi ise Debug yapıldığında bir sorun var ve bunu ayrıştıramadığı zaman Tomcat kırılıyor ve kapanmasını sağlamakta.

  6. bi konu hakkında acil yardım istiyorm ltfen acil yardım burk bey

    sessionla kullnıcı girişi olcak . sessionla baska sayfalara giren kullanıcınn adı tüm sayfalarda gözkcek. başlık ve duyuru ekleme sayfası olcak baska sayfada bu ekelenen leri göstericek ltfen yapıp yollarmısın bu notlar karışık geldi mezun olamıyorm allah rızası için yardım…

  7. bi konu hakkında acil yardım istiyorm ltfen acil yardım burk bey

    sessionla kullnıcı girişi olcak . sessionla baska sayfalara giren kullanıcınn adı tüm sayfalarda gözkcek. başlık ve duyuru ekleme sayfası olcak baska sayfada bu ekelenen leri göstericek ltfen yapıp yollarmısın bu notlar karışık geldi mezun olamıyorm allah rızası için yardım…

  8. fatihyldz

    bahsi geçen kodları kopyala yapıştır ile jsp dosyalarına attım, çalışmadı. çalışan kodunuzu zip leyip gönderebilir misiniz? neresi yanlış bulamadım.

    • Burak
      Author

      Bu çalışan kodlardır Fatih bey, Hatayı yazarsanız net bir şekilde yardımcı olabilirim. Ancak

      String url = “jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8”; adresindeki veritabanı yolunu kendinizi vt yolunuzu yazmalısınız.

      preStmt = con.prepareStatement(“INSERT INTO KULLANICI(ADI,SOYAD,il) VALUES (?,?,?)”); satırındaki sql sorgusunu veritabanınızın kolonlarına uygun olmalıdır.

      Bunlar gözünüzden kaçmış olabilir Fatih bey.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir