15 Mayıs 2013 tarihinde Yalova Üniversitesinde Java Web Teknolojileri Seminerine konuşmacı olarak katıldım ve (JavaServer Pages) JSP hakkında bir sunum yaptım.
1. YALOVA ÜN VERS TESİ İ İ
Bilgisayar Mühendisi Mimar ASLAN
www.udemy.com/u/mimaraslan
mimaraslan@gmail.com
2.
3. JSP ve nedir? Ve ne Değildir?
JavaServer Pages (JSP) bir programlama dili değilidir.
Java diline ait teknolojilerden bir tanesidir.
JavaServer Pages sayfalarının dosya uzantısı .jsp’dir.
JSP kurumsal dinamik web projelerinde kullanılmaktır.
JSP, HTML kodlarının arasına yazılır ve server(sunucu) tarafındaki Java
class(sınıf)ları ile birlikte çalışır.
4. Neden JSP kullanmalıyım?
JSP’nin temelinde JAVA dili vardır.
JSP gücünü nesne yönelimli JAVA dilinden
almaktadır.
JSP teknolojisi Java sofrasındaki
herşeyden kolaylıkla yer içer.
JSP geniş çaplı dinamik web projeleri için
altyapı sunar.
5. Java programlama dilini bu kadar önemli yapan şeyler
nelerdir?
Günümüz teknolojilerinde pastanın
en büyük dilinmini Java proglama
dili almaktadır.
Java en basit elektronik araçtan
tutunda Mars’taki uzay aracına
kadar kullanılmaktadır.
7. JSP’nin geliştirilmesinde hangi kurumlar rol aldılar?
Java Servlet’in kullanımı web alında muhteşemdi
fakat programcıların Servletleri kodlamaları oldukça
uzun zaman alıyordu. Sun Microsystems bu
duruma bir çare aradılar ve JavaServer Pages
(JSP) betik dili doğdu.
Apache Group'a JSP ve Java Servlet kodlarının
üzerinde çalışmaları için bu dev projeyi verdiler.
Kısa bir zaman sonra Apache Group'ta Tomcat adlı
ürünü piyasaya sürdü. Sonuçta meşhur Apache's
Tomcat ortaya çıktı.
8. Web Server (Web Sunucusu)
Web sunucuları farklı istemcilerden gönderilen isteklere cevaplar
vermektedir.
Günümüzde ücretli ve ücretsiz birçok web sunucusu bulunmaktadır.
9. Application Server (Uygulama Sunucusu)
Java kodlarının çalıştırılması demek uygulama demektir. Bu durumda
Application Server(Uygulama Sunucusu)nda bir JSP sayfasının çalıştırılması
da bir java uygulamasının çalışması demektir.
JSP sayfaları sıradan Web
Serverlerde değil de
Application Server(Uygulama
Sunucusu)nda çalışırlar.
JSP ile yazılan sayfaları
sunucuda servletlere yani saf
java kodlarına çevrilir.
10. JSP ve Servlet ilişkisi
Servletler platformlardan-bağımsız %100 java modül(parça)larıdır.
Html kodlarının arasına yazılan her JSP sayfası sunucuda servlete yani java
koduna çevrilir. Böylece her sayfanın servleti sunucuda oluşturuluyor.
Servletler web serverlerin yeteneklerini ve yapabilecekleri işlerin kalitesini
arttırırlar.
11. JSP ile Servletler birbirini tamamlayıcı iki teknolojidir.
JSP ve Servlet ilişkisi
12. JSP, Servletlerin devamı mıdır ?
Servlet teknolojisinin web sayfalarında kullanımını kolaylaştırılması JSP ile
olmuştur.
Servletler üzerinden proje geliştirmek çok uzun zaman alıyordu ve çok ta
zahmetliydi.
13. JSP ve Temel Tagları
1- Declaration tag Bildiri etiketi <%! %>
2- Expression tag İfade etiketi <%= %>
3- Directive tag Emir etiketi <%@ directive … %>
4- Scriptlet tag Kodlama etiketi <% ... %>
5- Action tag Olay tagı
14. Declaration tag- Bildiri etiketi
<%!
public int tarih = 1453 ;
public String lider = "Fatih Sultan Mehmet Han" ;
%>
Değişkenleri ve metodları tanımlarken kullanılır.
Başında ( ! ) ünlem vardır ve ifade sonunda ( ; ) noktalı virgül vardır.
15. Expression tag - İfade etiketi
JSP sayfalarında Java ifadelerini kullanırken gereklidir.
Web sayfasına herhangi birşeyleri yazı olarak yazdırmak
için kullanışlıdır.
Başında ( = ) eşittir vardır ve ifade sonunda ( ; ) noktalı
virgül yoktur.
Tarih : <%= new java.util.Date() %>
16. Directive tag - Emir etiketi
1.Page directive (Sayfa)
JSP sayfasında işlenecek sınıfları ve bilgileri tanımlar.
2.Include directive (Ekleme, dahil etme)
Dışarıdan harici dosya, web sayfalarını ve kod parçalarını JSP sayfalarına
ekler.
• 3.Tag library directive (Etiket kütüphanesi)
Özel etiket kütüphaneleri kullanır.
<%@ page import = "java.util.*, java.sql.*" %>
<%@ include file = "haberler.jsp" %>
<%@ taglib uri = "tag library URI" prefix = "bubizimtagimizinonisimi" %>
<%@ taglib uri ="http://java.sun.com/jsp/jstl/core" prefix ="c" %>
18. Standard Tag Library (JSTL)
•JSTL, JSP nin standart etiket
arşividir.
•Temel amacı java web
uygulamalarını geliştirmeyi ve
kullanılabilirliği artırmaktır.
•JSP scriptlets yani normal Java
kodlarına göre JSTL kullanmanın
daha kolaydır.
19. Standard Tag Library (JSTL)
JSP içinde Java kodlarını
basitleştirmekdir.
JSTL temelde sağladığı
kolaylıklarıyla JSP nin ayrılmaz
bir parçasıdır.
JSTL standardize edilmiştir.
20. JSTL kullanmanın avantajları nedir?
Scriptlets (JSP içinde Java kodları)ı karmaşıktır
ve muhafaza edilmesi son derece zordur.
Scriptlets’in aksine JSTL nin JSP sayfasından
okunması ve bakımı kolaydır.
JSTL nin etiketleri normal HTML etiketlerine
benzerdir. Scriptlets (JSP içinde Java kodları)
yerine JSTL kullanırsak HTML programcıları
kolaylıkla JSP içinde neler olup bittiğini
anlayabilir.
JSTL de her etiketinin adı kendini açıklar
tarzdadır ve anlaşılmayı da kolaylaştırır.
21. JSTL Türü Nelere destek verir? Prefix (Ön ek)
Core
Değişken desteği vardır.
cAkış kontrolü vardır.
URL yönetimi vardır.
Çeşitli alt tagları vardır.
Format
I18n
Yerel formatlar desteği vardır.
fmtMesaj biçimlendirme desteği vardır.
Sayı ve tarih biçimlendirme desteği vardır.
Functions
Yardımcı fonksiyon koleksiyonları vardır.
fnDizgi metinlerin kullanımına destek vardır.
Database SQL desteği vardır.
sql
XML
Core Tags desteği vardır.
xAkış kontrolü vardır.
Dönüşüm desteği vardır.
JSTL Etiket Türleri
22. JSTL Core Tags
JSTL Türü Nelere destek verir? Tags(Etiketler)
Prefix
(Ön ek)
Core
Değişken desteği vardır.
remove
set
c
Akış kontrolü vardır.
choose
when
otherwise
forEach
forTokens
if
URL yönetimi vardır.
import
param
redirect
param
url
param
Çeşitli alt tagları vardır.
catch
out
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
23. JSTL Format Tags
Internationalization Tags Tablosu
JSTL Türü Nelere destek verir? Tags(Etiketler) Prefix (Ön ek)
Format
I18n
Yerel formatlar desteği vardır.
setLocale
requestEncoding
fmt
Mesaj biçimlendirme desteği
vardır.
bundle
message
param
setBundle
Sayı ve tarih biçimlendirme
desteği vardır.
formatNumber
formatDate
parseDate
parseNumber
setTimeZone
timeZone
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
24. JSTL Function Tags
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
JSTL Türü Nelere destek verir? Tags(Etiketler)
Prefix
(Önek)
Functions
Yardımcı fonksiyon
koleksiyonları vardır.
length
fnDizgi metinlerin
kullanımına destek vardır.
toUpperCase, toLowerCase
substring, substringAfter,
substringBefore
trim
replace
indexOf,
startsWith,
endsWith,
contains,
containsIgnoreCase
split,
join
escapeXml
25. JSTL SQL Tags
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
JSTL Türü Nelere destek verir? Tags(Etiketler)
Prefix (Ön
ek)
Database
SQL desteği
vardır.
setDataSource
query
dateParam
param
transaction
update
dateParam
param
sql
26. JSTL XML tags
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
JSTL Türü Nelere destek verir? Tags(Etiketler)
Prefix
(Ön ek)
XML
Core Tags desteği
vardır.
out
parse
set
xAkış kontrolü vardır.
choose
when
otherwise
forEach
if
Dönüşüm desteği
vardır.
transform
param
27. JSTL nin eksiklikleri nelerdir?
Scriptlets (JSP içinde Java kodları)ı daha
esnekliktir. JSP programcısına tam detaylı
inceden inceye kontrolü ele almasına izin
verir.
JSTL’de perde arkasında olup bitenlerden
haberdar olmak zorunda değiliz.
JSTL deki bir çok özel her etiketin vazifesine
göre farklı amaçları vardır. Bu da JSTL yi iyi
bilmeyen HTML programcılarını yorabilir.
53. Güzel gören güzel dü ünür.ş
Güzel dü ünen hayatından lezzet alır.ş
B.S.N.
JSPseminerine katılıp beni sabırla
dinlediğiniz için sizlere çok teşekkür ederim.
Bilgisayar Mühendisi Mimar ASLAN
www.udemy.com/u/mimaraslan
mimaraslan@gmail.com