top of page

JSP Ile Ilgili Kodlama Unsurlari...

  • Writer: Sevdanur GENC
    Sevdanur GENC
  • Sep 2, 2011
  • 3 min read

Bu makalemde JSP ile ilgili kullanilacak bazi kodlama unsurlarindan ; Dongulerden, Degisken tanimlamaktan, JSP kod parcaciklarini html taglarina nasil gomecegimizden, Scriptlets ve Expressions arasindaki farklar, Scriptlets ve Declarations arasindaki farklardan bahsedicem. Konu Basliklarim ; - Expressions Kullanimi - Scriptlets Kullanimi - For Dongusu Kullanimi - If Dongusu Kullanimi - Directives Kullanimi - Declarations Kullanimi  

Expressions ve Scriptlets Kullanimi ;

Verdigimiz jsp taglarimiz icerisinde ki ifadeleri disariya html olarak bir cikti veriyoruz. Her zaman expression kullanamayiz veya her zaman disariya cikti verebilecegimiz bir koda sahip olamayiz bir metod yada bi if dongusu yazdigimizda expressionlari kullanmamiz mumkun olmayacaktir. Disariya cikti vermeyen kod parcaciklari icin

Scriplets

kullaniriz. Expressions' da

<%=

kullanilir. <%= ... %> gibi.

Scriptlets' de = isareti kullanilmiyor yani <% seki

lde kullanilir. <% ... %> gibi.

Scriptlets icin ornek verecek olursak ;

                Goruldugu gibi kodlarimizi yine body taglarimiz icerisinde barindiriyoruz. Burada date sinifimizda date isminde bir nesne olusturuyoruz ve bunu Expression icerisine date degiskenimiz ile yonlendiriyoruz. Birazdan ekran ciktisinda "scriplets icin bir ornek" tir ifadesinin gozukmemesinin sebebi ise debug islemlerinde gozukmesinden dolayi olacaktir. Genelde komut ekranlarinda bu ciktilar cikacaktir. JVM bunlari tek bir dosyada isliyor yani hepsini ayni dosya icerisinde baridiriyor. Bu kodun ekran ciktisi asagida ki gibidir...

          Scriplets de disariya cikti vermenin de tabi ki de bir yontemi bulunmaktadir. Bunun icinde  Expression ifadimizin yerine Out.println ifadesini kullanabiliriz.

                        Ve Yine ekran ciktimiz asagida ki gibi olacaktir.

          out.println kodunun hemen altinda istediginiz gibi yine out.println ifadesini kullanarak eklentiler yapabilirsiniz. out.println(date); out.println("sisteme hos geldiniz!...");   gibi... Ekran ciktisi hemen asagida ki gibidir...

          Veya yine bir ornek verecek olursak; out.println(request.getRemoteHost()); komutunu kullanarak kullanicinin hangi host'tan, ip'den geldigini ogrenebiliriz.

For Dongusu Kullanimi ;

Peki simdi de scriptlets'i html'ler icerisinde farkli bir kullanimdan bahsedelim. Diyelim ki 3 satirlik bir tablo olusturalim ve bunlarin icerisine sayilari sirayla yazdilarim...  

Burada ki for dongusu icin kullandigimiz yapiya dikkat edelim. <br> ile bir satir atlamasi isin islem yaptiktan hemen sonra table tag'larimizi aciyoruz ve border ifadesini bildiriyoruz. Oncelikle for dongusunun baslangic kismini ilk Scriptlets icerisinde barindiriyoruz. for dongusu icin kullandigimiz suslu parantezi actiktan sonra scriptlets'i kapatip normal tablomuz icin satir ve de sutun isimlendirmelerini gerceklestiriyoruz. td taglari icerisinde yeni bir Expressions acip orada for dongusunden gelecek olan t degerini ekrana yazdiriyoruz. ve yine for dongusunun kapatmak icin kullandigimiz suslu parantezini yeni bir Scriptlets taglari icerisine gomuyoruz.             Bu kodumuzun ekran ciktisi ise asagida ki gibidir;

IF Dongusu Kullanimi ;

Peki simdi de bir IF blogunun nasil kullanildigini gorelim...

Boolean secim = true;

ifadesini ekliyoruz. Bu degiskenle birlikte ekran ciktisi

seciminiz true'dur...

ifadesi olacaktir. Eger degiskene

false

degerini verirseniz ekran ciktiniz else kismindaki metin olacaktir yani

seciminiz false'dur...

kodlarin ekran ciktilari hemen asagidadir...              

<%@ ... %>

ifadesini kullanicaz.

Burada hemen Html taglarinin en tepesine import'umuzu ekleyebilmemiz icin

<%@

directives ifademizi yaziyoruz. Hemen ardindan ilk ornegimizin import'larini burada belirtiyoruz. Eger ki birden fazla import etmeniz gerekiyorsa kullanim seklinde hemen araya virgul koymaniz yeterli olacaktir;

<%@ page import="java.util.*, java.text.*" %>

  seklinde... Kodlamaya devam edecek olursak; asagiya yine scriptlets taglari icerisine nesne tanimlamamizi gerceklestiriyoruz.

Date date = new Date();

seklinde Date sinifindan bir date nesnesi olusturuyoruz. Ekrana cikti alabilmemiz icin farkli bir scriptlets taglari icerisinde;

out.println(date);

komudunu kullaniyoruz. Olusturmus oldugumuz komutlarin ekran ciktisi ;

            Diger bir directives kullanimi ise include directives'dir. Baska bir JSP dosyasini uygulamaniz icerisine directives taglari ile birlikte include ederek kullanabilirsiniz. Bir uygulama yapacak olursak C:\Tomcat 7.0\webapps\ROOT\ilk_uygulama klasorumuzun icerisine include edebilmemiz icin

uygulama.jsp

isminde yeni bir jsp dosyasi olustururuz.

Olusturdugumuz dosya icerisine sadece tek satirlik asagida ki kodlari yazariz...

<% out.println("uygulama.jsp sayfasindan yonlendirildi"); %>

Burda ki amac; index.jsp icerisinde ki directives komutlari ile bildirecegimiz include ifadesi ile kullaniciya uygulama.jsp icerisindeki ifadeleri gosterebilmektir.           Index.jsp nin icerisinede asagidaki kodlari uygulariz.

                  Uygulamamizin ekran ciktisi asagidadir ;

Declarations Kullanimi ;

Declarations icerisinde genelde java'daki method'larimizi kullaniriz. Declarations komutlarimiz icin

<%! ... %>

ifadelerini kullaniriz.

                                Simdi kodlarimizi aciklayacak olursak ; Directives ile util kutuphanemizi html tag'larimizin hemen uzerine yaziyoruz. Daha sonra Declarations taglari ile birlikte tarih isminde Date sinifimizdan bir nesne olusturuyoruz. Ve bir method olusturup bunu return ifadesi ile birlikte kullaniciya nesne icerisindeki tarih bilgilerini aktariyoruz. En son olarakta yeni bir Expression tag'i kullanarak method'u cagiriyoruz. Ekran ciktimiz asagida ki gibidir ;

          Burada dikkat etmemiz gereken unsurlardan bahsederek makalemi sonlandirmak istiyorum... Declarations'da arka tarafta java kodlarimizi ilk defa compile ettigimizde nesnemiz olusur ve bir daha o nesne icerisindeki ifademiz degismez. Sayfa ilk defa olustugunda JVM tarafindan olusturulan tarih bilgilerini alinir ve bu sayfa her refresh edildiginde bu islemi tekrarlamaz. Tarih nesnesini bir seferligine olusturmus olur. Yani icerisinde surekli ayni bilgiyi sakli tutar. Kisacasi ; Degisken tanimlamak istiyorsak her defasinda Declarations' da sorun yasamak istemiyorsak, Scriptlets kullanmayi tercih etmek cok daha mantikli bir yontem olacaktir. Tabi her zaman tercih sizindir...

Recent Posts

See All
Ado.Net Entity Framework Ogreniyorum Serisi 00

Ado.Net Entity Framework (EF) verileri ile etkilesim uygulamalari gelistirmek icin kullanilan Ado.Net nesne iliskisel modelleme yazilimi olarak iliskisel veritabani semalarini ve nesneler arasinda ki

 
 
 
LINQ Ogreniyorum Serisi 05

Linq To Sql’de tablolarimizdaki verileri silebilmemiz icin; DataContext icerisinde ki DeleteOnSubmit ve DeleteAllOnSubmit metodlari kullanilmaktadir. Beraberinde SubmitChanges metodu da kodlari eklen

 
 
 
LINQ Ogreniyorum Serisi 04

Linq To Sql’de tablolarimiza verileri guncelleyebilmemiz icin; DataContext icerisinde ki SubmitChanges metodu kullanilmaktadir. Bu komutlari kullanarak DataContext sinifinin yapisina da ihtiyac duyu

 
 
 

Comments


©2035 by Sevdanur Genc. Powered and secured by Wix

bottom of page