10 Mayıs 2011 Salı

JSP Makaleleri 0005 – JSP nin Temel Tagları

     Bu bölümde JSP nin en önemli can damarı olarak kullanılan taglardan söz etmek istiyorum. JSP ile profesyonel projeler geliştirmek isteyen mühendislerin ve programcıların JSP taglarının kullanımlarını çok iyi dercede bilmesi gerekmektedir. Bu bölümün anlaşılana kadar en az iki defa dikkatlice okunmasını tavsiye ediyorum.


 JSP Sayfalarında kullanılan beş farklı tag türü bulunmaktadır.



1-

Declaration tag

Bildiri tagı

<%!    %>

2-

Expression tag

İfade tagı

<%=   %>

3-

Directive tag

Emir tagı

<%@ directive … %>

4-

Scriptlet tag

Kodlama tagı

<% ... %>

5-

Action tag

Olay tagı






1-

Declaration tag

Bildiri tagı

<%!    %>


Declaration tag değişkenleri ve metodları tanımlarken bildiri yapmak için kullanılır. Bildiri veya tanımlama için önce <%! kullanmalıyız. Daha sonra değişkenimizi veya metodumuzu tanımlayıp %> ile tagımızı kapatmalıyız. <%!    %> İçteki bildiriler ve tanımlamaların sonunda ( ; )noktalı virgül kullanılmalıdır.



<%!
          publicint Tarih = 1453 ;
          public String Hunkar = "Fatih Sultan Mehmet Han" ;
%>



2-

Expression tag

İfade tagı

<%=   %>


Expression tag (İfade tagı) JSP sayfalarında Java ifadelerini kullanırken gereklidir.Web sayfasına herhangi birşeyleri yazı olarak yazdırmak için kullanışlıdır. İfademiz eğer ki Scriptlet tag (Kodlama tagı) ise out.println() ise  bitiminde ( ; )  noktalı virgül ile ifademiz kapatılmalıdır.


İsim  : <% out.println("Fatih Sultan Mehmet Han"); %>
Tarih : <%= new java.util.Date() %>


Dikkat ediniz
Scriptlet tag (Kodlama tagı) ise  <% ... %> arasında yazılır.
Başında ( = ) eşittir yoktur ve  ifade sonunda ( ; ) noktalı virgül vardır.


<% out.println("Fatih Sultan Mehmet Han"); %>


Expression tag (İfade tagı)  <%=   %> arasında yazılır.


Başında ( = )  eşittir vardır ve ifade sonunda ( ; ) noktalı virgül yoktur.


Tarih : <%= new java.util.Date() %>



3-

Directive tag

Emir tagı

<%@ directive … %>


JSP de Directive tag (Emir tag) ları sayfaya özel bilgileri ekler.Üç türlü Directive tag (Emir tag) tipi vardır.


1.Page directive (Sayfa emir tagı)– Çalışan JSP sayfasında işlenecek bilgileri tanımlar.     


2.Include directive  (Ekleme dahil etme emir tagı) – Dışarıdan harici dosya , web sayfalarını ve kod parçalarını JSP sayfalarımıza dahil etmede kullanılır.


3.Tag library directive  (Tag kütüphanesi emir tagı) – Özel tag kütüphaneleri kullanırken bize yardımcı olur.


1.Page directive (Sayfa emir tagı)


JSP çalışma motoruyla JSP sayfamızda işlenelecek bilgilerin özelliklerini tanımlarken Page directive (Sayfa emir tagı)ından yararlanıyoruz.


Page directive (Sayfa emir tagı)nın seçimlik 11 alt özelleği vardır.Şimdi bu birbirinden değerli olan alt özelliklere sırasıyla değinelim.


language     


JSP sayfamızda hangi dili kullananıyorsak onu belitmek için        


<%@ page language="java" %>



extends        
Superclass(Miras alınan sınıf) alt sınıf üst sınıftan miras alacaksa


Page directive (Sayfa emir tagı)nın  extends  özelliğinden yaralanıyoruz.


JSP Sayfalarının Servletlere dönüştürülmesinde de rol almaktadır.


<%@ pageextends = "com.wordpress.mimaraslan."%>




import          
JSP sayfalarımıza yararlanacağımız java sınıflarını ve java paketlerini eklerken


Page directive (Sayfa emir tagı)nın  import özelliğinden özelliğinden


faydalanıyoruz.


JSP Sayfamıza faydalanacağımız paketleri dahil ediyoruz.


<%@ pageimport = "java.util.*,"  %>
<%@ pageimport = "java.awt.*"  %>
<%@ pageimport = "java.sql.* "  %>
<%@ pageimport = "java.lang.* "  %>


           
JSP Sayfamıza birden fazla paketi tek satırda dahil edebilirdik.


<%@ pageimport = " java.util.*, java.awt.*,java.sql.* ,java.lang.* "  %>




session       
JSP sayfaları arasında eğer oturum nesnelerinden yararlanacaksak Page directive (Sayfa oturum tagı)nın  session özelliğini sayfamızda kullancacağız. Oluşturulan bu oturum nesnesi kendisini kullanmak isteyen bütün JSP sayfalarında geçerliliğini sürdürür. Bu performans açısından çok yararlıdır. Seçimlik false (yanlış) true (doğru) olarak iki değeri vardır. Oturum nesnesinin varsayılan seçilmiş değer durumu true (doğru)dur. Bu özelliği kullanan nesnelerimiz JSP sayfalarında kullanılırken bir HTTP oturumu içerisinde görevlendirilirler.HttpSession nesnesine JSP sayfaları içerisinden Session (oturum)lar iç nesnesi kullanılarak scriptletler aracılığı ile erişilirler. Session (oturum)lar kullanıcılar tarafından tekrar tekrar kullanılan  Javabeans(fasulyeler) bazı nesneleri saklamak ve  gayet elverişlidir. Javabeans(fasulye)leri  başka JSP sayfaları arasında paylaşılır ve dolaştırılır.Evet kitabın ilerleyen bölümlerinde  Javabeans(fasulye)lerini ayrıntı olarak alacağız. 


<%
   String ortamNesnesi = request.getParameter( "kullaniciadi" );
   session.setAttribute( "ortamNesnesininLakabi", ortamNesnesi);
%>



buffer           
JSP sayfalarında buffer (tampon) kontrolünü bu tag sayesinde sağlıyoruz.Varsayılan olarak 8kb tır.       


<%@ pagebuffer = "none" %>   veya  <%@ pagebuffer = "16k"%>




autoFlush      
JSP sayfalarında bufferin tam olarak dolduğu anlarda boşaltılmasını otomatiğe bağlamak için autoFlush tazeleme ile kontrolüyle sağlayabiliriz.


<%@ pageautoFlush = "true" %> 




isThreadSafe   
JSPde çok kanallı çalışan bir uygulmama gelişitirdiğimizde Servlet tarafında bu çoklu istekleri tutup eş zamanlı yönetmek için bu tagımızı kullanacağız.Varsayılan olarak JSP sayfamıza ulaşan isteği karşılayan JSP Servis metodu multithreaded olarak çalışmaktadır.Sebebi JSP sayfasını geliştiren şahsa senkronizasyon (eş zaman)lı bir istek ve cevap trafiğinin sorumluluğunu vermekdir.Servis metodlarının thread çalışmasında çok güvenli çalışan birkaç yol bulunmaktadır.En basit ve sade kontrol aşağıdaki kullanımdır.


<%@ page isThreadSafe="true" %>



info    
Geliştirilen JSP sayfasının hakkında programcı,versiyon,sahiplik hakkı gibi


(copyright 2011) veya tarih gibi … bazı bilgileri vermek için bu tagı kullanacağız.          


<%@ page info = "mimaraslan.wordpress.com hakkimda sayfasi,copyright 2011" %>



errorPage    
Herhangi bir hata meydana geldiğinde hata sayfasının bulunduğu URL adresine yönlendirme için bu tagdan yararlancağız.      


<%@ pageerrorPage = "/hatadosyasi/hatassayfasi.jsp" %>


IsErrorPage            
Bu tag hata sayfasının kendisinde kullanılarak hata meydan geldiğinde gereken bilgileri web tarayıcısında gösterecektir. JSP hata sayfasısının başında meydana gelen hatayı web tarayıcısına gösterilebilmesi için seçimlik özelliğinin true (doğru) olmalıdır.


 <%@ pageisErrorPage="true" %>


contentType          
Bu tagımızı JSP sayfalarında ülkelerin dillerinin karakter kodlarını belirmekte kullancağız.  Ayrıca mime typeve character set in hazırlanmasında etkili bir tagdır.


Mime Types Nedir?
Farklı uzantılardaki dosyaları tanımlar. En çok mail ve web tarayıcılarında  kullanılmaktadır. Dosyaları türlerine / tiplerine göre gerekli uygulama ile ilişkilendirir.


Örneğin, Flash dosyası uzantısı .swf dir.Web tarayıcımızda flash dosyalarını çalıştırmayı istiyorsak ve görüntülenemiyorsa dosyamızın mime türünü web tarayıcımız bilmiyor demektir. En çok kullanılan Mime Type /Türleri IIS kurulduğunda eklenmiş olarak beraberinde gelmektedir.



Extension(Uzantı)   Mime Type / Türü


.xls                              application/vnd.ms-excel


.swf                            application/x-shockwave-flash


.jpg                             image/jpeg


.gif                              image/gif
  

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


2.Include directive  (Ekleme dahil etme emir tagı)


JSP sayfalarında dışarıdan başka dosya , kod parçası  veya  herhangi bir JSP sayfasnın bir başka JSP sayfasında kullanılamasını istediğimiz zaman baş vuracağımız tagımızdır. Dışarıdan dahil edilen dosyaların , kod parçalarının  JSP sayfalarına tek satır kod ile eklenerek  defalarca kullanım kolaylığını bu tag  sağlamaktadır. Menüleri, tabloları, başlıkları web projelerimizde defalarca kullanacağımızı düşünürseniz. JSP sayfaları için çok yararlı bir tag olduğunu hemen anlayacaksınız.

Tagımız include ile kod parçalarını şu şekilde JSP sayfamıza dahil edebiliriz.JSP sayfamıza dahil edeceğiz html sayfasının adı yanmenu.html olsun.


<%@ include file = " yanmenu.html" %> 

Eğer dışarıdan eklenecek sayfamız başka bir dosyanın içinde bulunuyorsa dosya yolunu belitmemiz gerekmektedir. Bu sefer sayfamıza eklenecek kod parçası aikido adındaki bir dosyada bu teknikler.jsp adında bir JSP sayfası olsun.


<%@ include file = " aikido/teknikler.jsp" %>


3.Tag library directive  (Tag kütüphanesi emir tagı)

Eğer ki koleksiyondan bir tag lib kullancak isek ona istediğimiz bir ön isimle veya  lakapla  çağırmalarda bulunabiliriz. Ön isim veya lakap kullanım tekniği JSP Sayfalarında taglib kodların kullanımını kolaylaştrmaktadır.Kitabın ilerleyen kısımlarında Taglib konusu detaylı olarak ele alınacaktır.


JSP sayflarımızda taglib tagının kullanımı şöyledir.
<%@ tagliburi = "tag library URI"prefix = "bubizimtagimizinonisimi" %>   
 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core"     prefix="c" %>
 
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions"  prefix="fn" %>


veya 


<%@ taglibprefix="lakapolarakkullanilanonisim"uri="/mimaraslan.tld" %>
<%@ taglib prefix="blx" uri="/blx.tld" %>



4-

Scriptlet tag

Kodlama tagı

<% ... %>


Scriptlet tag (Kodlama tagı) <%  Buraya kısma Java kod parçalarımızı veya scriptletlerimizi yazacağız.  %> Bean (Fasulye)leride bu iki yüzde (%) arasında deklere edebiliriz.


Bir değişken tanımlayıp onu JSP sayfamızda yazdırmak isteseydik.  

  <% 
        String sehirAdi = "İstanbul" ; 
        out.println (sehirAdi) ; 
     
        int fetihTarihi = 1453 ; 
        out.println (fetihTarihi) ; 
  %>
String tipinde bir değişken tanımladık içine İstanbul’u koyup yazdırdık.
int tipinde (sayı) bir değişken tanımlayıp içine 1453 değerini koyup yazdırdık.



5-

Action tag

Olay tagı




Olay tagımızı (Action tag) başlıca şu üç yerde kullanacağız.


1) Sunucu tarafında Javabeans(Java Fasulye)leri kullanımına olanak sağlar.
2) JSP Sayfaları arasındaki bilgi aktarımını denetler.
3)Appletler için hangi web tarayıcı olursa olsun fark etmez sağlıklı çalışır ve destekler. 





Bilgisayar Mühendisi Mimar ASLAN

Ukrayna-Donetsk

Makaleleri referans göstermek kaydıyla alıp yayınlayabilirisniz.

Mimar ASLAN

Hiç yorum yok:

Yorum Gönder