JSP ile Veri Tabanında Kayıt Arama (MySql)
Jsp Derslerimize devam ediyoruz. Bu derse kadar ne yaptık önce bir gözden geçirelim.
*
JSP’ye giriş yaptık “Merhaba Dünya” dedik.
*
JSP ve Mysql Bağlantısı yaptık.
*
Jsp ile Veri Tabanına Kayıt Ekledik.
Sırası ile devam ediyoruz. Jsp ile veritabanımıza kayıt ekledikten sonra bu kayıtlarımızdan bir arama işlemi gerçekleştirmek zorunlu bir hal alacaktır. Onlarca kayıtlı bilgileri “adı” ya da “soyadı” na göre arattırıp o kullanıcının bilgilerini karşımıza getireceğiz.
Arama yaptırmak JSP ile Mysql arasında ki bağlantıda veri tabanımızdan değer almamızı sağlar.
Bu arama işlemleri’nde aranacak bilginin önemine görea adına, iline veya soyadına göre arattırma yapabiliriz.
Bizim yapacağımız örnekte kullanıcı adına göre arama yapılacak ve bulunan değere göre kullanıcı adı , soyadı ve ilini bir tablo içerisinde göstereceğiz.
JSP importlarımızı oluşturalım ilk önce.
<%@ page import="java.io.*" %> <%@ page language="java" import="java.sql.*" %> <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
İlk olarak yapacağımız işlem arama.jsp sayfasını tasarlamak. Görünüm resimdeki gibi olacaktır.
Bu arama formumuzun kodlarını oluşturalım.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Başlıksız Belge</title> </head> <body> <form id="form1" name="form1" method="post" action="<b style="color:white;background-color:#880000">arama</b>.<b style="color:black;background-color:#ffff66">jsp</b>"> <p> <label for="arama_ad">Aranacak Ad</label> : <input type="text" name="arama_ad" id="arama_ad" /> <input type="submit" name="ara" id="ara" value="<b style="color:white;background-color:#880000">Arama</b> Yap" /> </p> </form> </body> </html>
Her zaman yaptığımız gibi JDBC sürücüsü ve MySql veritabanı bağlantımızı oluşturalım.
<% request.setCharacterEncoding("UTF-8"); String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8"; Connection con = null; try { Class.forName(driver); } catch (Exception e) { System.exit(0); } try { con = DriverManager.getConnection(url, "root", "root"); } catch (Exception e) { System.out.println("Mysql Bilgisi : Bağlantı Kurulamadı" + e + ""); System.exit(0); } %>
Bağlantımızı oluşturduk. Formumuzu tasarladık. Arama Yap butonuna basıldığında formumuzun tekrar geleceğiyol arama.jsp sayfasına yönlenecek. Jsp get.parameter yordamı ile gelen ad değerini alacağız. formumuzdan gelen “ad” değerini alalım ve bir String değişkenine atalım.
<% request.setCharacterEncoding("UTF-8"); String kullanici_adi = request.getParameter("arama_ad"); %>
Kullanıcı adımızı formmumuzdan aldık şimdi yapacağımız işlem Sql komutu ile arama işlemi yaptırmak.
request.setCharacterEncoding("utf-8"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM KULLANICI where ADI='" + kullanici_adi + "' ;");
Sql sorgusu işlemini yaptıkdırdık. Oluşan değerler rs adlı değişkenimizde bu verileri çekmek için bir yol var. Bu yol while döngüsü içerisinde değer next komutu ile devam eder ve değer bittiğinde çıkar.
<&out.print("<table>"); while (rs.next()) { out.println("<tr><td>" + rs.getString("id") + "</td>"); out.println("<td>" + rs.getString("ADI") + "</td>"); out.println("<td>" + rs.getString("SOYADI") + "</td>"); out.println("<td>" + rs.getString("PAROLA") + "</td>"); out.println("<td>" + rs.getString("EMALI") + "</td>"); out.println("<td>" + rs.getString("Il") + "</td></tr>");} out.print("</table>");%>
Çıkan sonuçları bir tablo içerisinde gösterir. Birden fazla kayıt var ise bir alt satıra geçip değerleri yazdırmaya devam eder.
Diğer JSP Dersleri için tıklayınız.
out.println(“” + id + “”); burada id degiskenini nereden alıyoruz ve tanımlıyoruz
id değişkenini bir yerde tanımlamıyoruz. Maalesef yanlış aktarmışım. rs.getString(“id”) olması gerekiyor.
Merhabalar ben jsp ile veri tabanı sorgusu yapmak istiyorum ama sorgulatacağım isimin arasında boşluk var request.getparameter ise boşluğu tanımıyor bunu nasıl yapabilirim?