Archive for the ‘ MySql ile JavaServer Pages Standard Tag Library(JSTL) Projesi ’ Category

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/sql_rt" prefix="sql"%>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
JSP Page

        
delete from kitap where isbn=?
<sql:param value="${param.listeleIsbn}"/>
        
    <c:redirect url="KitapListele.jsp"/>

Ana sayfa:http://www.ethemsulan.com/2010/02/jstl-ile-mysql-veritabanna-kayt.html

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/sql_rt" prefix="sql"%>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
JSP Page
<%--<c:if test="${!empty param.guncelleAd}"> ad değişkeni eğer boşsa yanı null ise kayit gerçekleşmez.
Duzenle.jsp den gelen kayitlar güncelleniyor.Eğer ad boş değilse  ile
KitapListele.jsp ye gönderiliyor.Yanı kayıt gerçekleşip hemen yönlendidiriliyor.
Eğer ad boş gelirse o zaman ad alanı boş olmaz ve  ile belirtilen link çıkar.--%>
<c:if test="${!empty param.guncelleAd}">
     
update kitap set ad=?, yazar=?, fiyat=? where isbn=?
<sql:param value="${param.guncelleAd}"/>
<sql:param value="${param.guncelleYazar}"/>
<sql:param value="${param.guncelleFiyat}"/>
 <sql:param value="${param.guncelleIsbn}"/>
   
   <c:redirect url="KitapListele.jsp"/>
   </c:if>

Ad alanı boş geçilemez


<a href="KitapListele.jsp">Listeye Geri Donmup Dogru Bilgiler Girin
    

Ana sayfa:http://www.ethemsulan.com/2010/02/jstl-ile-mysql-veritabanna-kayt.html

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/sql_rt" prefix="sql"%>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
JSP Page
<%--KitapListele.jsp den gelen bilgileri bu sayfada değiştirip
Guncelle.jsp ye gönderince orada ad kontrol edilip kayit gerçekleşiyor.
ısbn hidden olarak geliyor çünkü tabloda primary keydir ve değişmemesi lazım.--%>
<form action="Guncelle.jsp" method="POST">
<input type="hidden" name="guncelleIsbn"
       value="${param.listeleIsbn}" />
Ad:<input type="text" name="guncelleAd"
          value="${param.listeleAd}" />
Yazar:<input type="text" name="guncelleYazar"
             value="${param.listeleYazar}" />
Fiyat:<input type="text" name="guncelleFiyat"
             value="${param.listeleFiyat}" />

<input type="submit" name="tiklandiginda" value="Guncelle" />
            
 

Ana sayfa:http://www.ethemsulan.com/2010/02/jstl-ile-mysql-veritabanna-kayt.html

<%--Dikkat web.xml içinde jstl de veriştabanına bağlanmak
için global bir değişken tanımladık.Istediğimiz sayfada
veritabanına bağlanabiliriz bu şekilde.Yanı her sayfada
class.forName() ve connection ya da statement tanımlamatan kurtulduk. --%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/sql_rt" prefix="sql"%>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
JSP Page

   <sql:query var="sonucKumesi">
        select * from kitap
   
 <table border="1">
Kayit Guncelle
Kitap ISBNKitap Adi
 Kitap YazariKitap Fiyati
 Kayit Sil
<%--sonucaKumesinden foreach ve satir isminde değişkenle tüm sonuçları yazıyoruz.
Ben değişken ismine satir dedim ama genelde i kullanılır.Yanı istediğiniz ismi verebilirsiniz
var ile değişken tanımlıyoruz.items de tum sonucKumesi ssatırları eklenmiş.--%>
<c:forEach var="satir" items="${sonucKumesi.rows}">
     
<%-- içinde hidden olarak form oluşturulmuş ve
burdaki bilgileri Duzenle.jsp sayfasına gönderiyoruz.--%>
<form action="Duzenle.jsp" method="POST">
<%--value="${satir.isbn}" veritabanındaki bilgileri çekipi yazıyor.
databasedeki tablo sutun adlari isbn,ad,yazar,fiyat şeklindedir--%>
<input type="hidden" name="listeleIsbn" value="${satir.isbn}" />
<input type="hidden" name="listeleYazar" value="${satir.yazar}" />
<input type="hidden" name="listeleFiyat" value="${satir.fiyat}" />
       <input type="submit" value="Guncelle" />
         
    <c:out value="${satir.isbn}"/>
    <c:out value="${satir.ad}"/>
    <c:out value="${satir.yazar}"/>
     <c:out value="${satir.fiyat}"/>

<%--silde de sadece i
sbn yi almam yeterlidir.Sil.jsp de gelen
isbnye ait kaydı siliyorum.isbn tablomun primary keyidir. --%>
<form action="Sil.jsp" method="POST">
<input type="hidden" name="listeleIsbn" value="${satir.isbn}" />
<input type="submit" value="Sil" />
  


<a href="index.jsp">

Kayit Ekleme Sayfasina Don


    

Ana sayfa:http://www.ethemsulan.com/2010/02/jstl-ile-mysql-veritabanna-kayt.html

<%--Dikkat web.xml içinde jstl de veriştabanına bağlanmak
için global bir değişken tanımladık.Bu uygulamada istediğimiz sayfada
veritabanına bağlanabiliriz bu şekilde.Yanı her sayfada
class.forName() ve connection ya da statement tanımlamatan kurtulduk. --%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/sql_rt" prefix="sql"%>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
JSP Page
      
<%--!empty param.formIsbn formdaki isbn texti boş olursa kayit gerçekleşmez
Bu örnekte kitap adı ve isbn boş olmamalı.Ikisinin kontrolu yapılmış.
valuesteki ? lerine <sql:param 
<c:when test="${!empty param.formIsbn and !empty param.formAd}">
    
insert into kitap(isbn,ad,yazar,fiyat) values(?,?,?,?)
<sql:param value="${param.formIsbn}"/>
<sql:param value="${param.formAd}"/>
<sql:param value="${param.formYazar}"/>
<sql:param value="${param.formFiyat}"/>
   

Kayit basariliyla gerceklesti


    
     
 <c:out value="Ad ve ISBN bos olamaz.Kayit Gerceklesmedi MALESEF"/>
<a href="index.jsp">Geri Donup Bilgileri Tam Girin
      
      
 <a href="KitapListele.jsp">

Kayitli Kitaplari Gormek Icin



Ana sayfa: http://www.ethemsulan.com/2010/02/jstl-ile-mysql-veritabanna-kayt.html

Veritabanı tablosu.Bazı kontroller yapılmamış mesela fiyat int girilmesi gerekir.String girilirse hata verir.Sadece jstl nasıl kullanıldığını ve her sayfada veritabanına bağlanmadan aynı connection, class.forName(),statement ifadelerini tanımlamadan veritabanına bağlabilmeyi basitçe göstermeye çalıştım.Bunu biz web.xml de bağlantı verilerini tanımlayarak uygulamanın içinde herhangi bir sayfada veritabanına bağlanabiliriz.

global

Apache tomcat sunucusu,jstl ve mysql jdbc driveri olması gerekir.

tablo resmi:

kt 

Isimler karışmasın diye diğer form text isimlerini tablodaki alanalrına başına hangi sayfadan geldiğini belirtecek şekilde isimlendirdim.Çünkü hangi kod hangi textteki değeri aldığı önemli.jstl tag kütüphanlerine de dikkat edin.

Ana sayfa yanı index.jsp kodu aşağıda ve diğer sınıfların da orjinal kodların linklerini belirtecem.

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

Kitap Ekleme Formu


<form action="KitapEkle.jsp" method="POST">
 <table border="1">
Kitap ISBNKitap Adi
Kitap YazariKitap Fiyati

<input type="text" name="formIsbn" />
<input type="text" name="formAd"/>
<input type="text" name="formYazar" />
<input type="text" name="formFiyat"/>
<input type="submit" value="Kayit Ekle" />
<input type="reset" value="Iptal" />

<a href="KitapListele.jsp">

Kayitli Kitaplari Listele



Tüm sayfaların kodları:

http://www.ethemsulan.pastebin.com/f919a8a9

http://www.ethemsulan.pastebin.com/f7820051f

http://www.ethemsulan.pastebin.com/fc3695b4

http://www.ethemsulan.pastebin.com/f1a920a51

http://www.ethemsulan.pastebin.com/f43b7efac

http://www.ethemsulan.pastebin.com/f7a895e5d

web.xml: http://www.ethemsulan.pastebin.com/f41fdec19