DERS 1: ASP İLE
PROGRAMLAMAYA GİRİŞ
Ders sonunda
yapabilecekleriniz:
-ASP teknolojisini
tanıtmak.
-Script yazma işlemini
tanıtmak.
-ASP sayfası nasıl
yaratıldığını ve çalıştığını açıklamak.
I. ASP NEDİR?
Geleneksel
programcılık, genellikle tek bir bilgisayar üzerindeki veritabanı dosyalarına
yazmak ve sorgulamak üzere yapılan bir programcılıktı. Yazılan
program kodu derlenip .exe haline çevriliyordu.
1980'lerden
günümüze network yapıları yaygınlaştı ve istemci-sunucu (client/Server) olarak
adlandırılan bir programlama modeli ortaya çıktı. Bu modelde istemciler
programın yalnızca ara yüzünü çalıştırmaktaydı. Diğer taraftan server (sunucu) üzerinde ise programın ana kısmı ve
veritabanı yer almaktaydı. Bir dönem daha geldi ve Web
programcılığı adı verilen bir dönem başladı. İşte ASP
bu işi yapmak için geliştirilmiş diğr bir çözüm ya da teknoloji. Ancak daha çok Web programcılığı diye anılıyor.
NOT: Derslerimde verdiğim
fırın örneğini anımsayın :))
ASP ile program
çözümünde, istemcinin karşısına bir Web sayfası konur. Bu sayfa
HTML kodu ile üretilir. Bu anlamda istemcilerin
uygulaması bir Web sayfasını görüntülemek için kullandıkları Internet
Explorer'dır. Sunucu tarafında ise bir Web Server
vardır. ASP sayfası yazılarak bu sunucunun belli bir
dizini üzerine konur.
ASP neye çözümdür diye
sararsanız da; şirketlerin kendi iç çözümlerini gerçekleştikleri Intranet
uygulamaları ya da şirketlerin Internet üzerinden siparişlerin girilmesi,
ürünleri satın alması gibi ticari işlemleri çok sayıda kullanıcının dünyanın
her yerinde bağlanarak yapabilecekleri "elektronik ticaret" siteleri
tasarlamak gibi konular olabilir.
A. SCRİPTİNG (KOMUT DOSYASI
YAZMAK)
ASP
programcılığında, işin programcılık tarafı VBScript ya da JavaScript dili
kullanarak script yazmaya dayanır. Scripting (komut dosyası yazmak, betiklemek
de deniyor) terimi, ASP ya da HTM dosyalar içinde düğmeye tıklamak gibi
olaylara dayalı yazılan kodlamadır.
ASP
programlamasında iki tür script işi karşımıza çıkar. Birincisi
istemci tarafında etkileşimi sağlayacak program parçaları yazmak, ikincisi ASP
kodu olarak belirlediğimiz alanda script yazarak özellikle sunucu üzerindeki
işlemleri yönetmeyi sağlar.
İstemci
tarafında yazacağımız scriptler tarayıcı (browser) olarak adlandırılan
Microsoft Internet Explorer ve Netscape gibi programlar tarafından işletilir. Diğer
bir deyişle tarayıcı, script komutlarını anlar ve yerine getirir. Özellikle ziyaretçi ile etkileşimde (bir düğmeye tıklanması gibi)
bu tür scripting işlemi kullanılır.
1. Client Side Scripting
(İstemci Taraflı Script Yazmak)
HTM ve
ASP dosyaları içine yazılır. Bu bölüm SCRIPT etiketiyle belirtilir.
Daha çok kullanıcı etkileşimini kontrol etmek için
kullanılır.
Örnek:
<script language =
"VBScript">
sub al()
document.tatil.tarih.value
= date()
End sub
Function tatil_OnSubmit()
Tatil_Onsubmit = false
Sonuc= InStr
((document.tatil.sure.value),"@")
If Sonuc = "0"
Then
MsgBox "e-mailiniz
yanlış ", vbCritical, "Giriş Gerekiyor."
tatil.sure.Focus
Else
Tatil_Onsubmit = True
End If
End Function
</script>
Örneğin
Submit (gönder) düğmesine tıklaması gibi belli bir olayı yorumlar. Internet Explorer üzerinde
işletilen scriptler bu alana girer.
VBScript
ve JavaScript istemci taraflı script yazmak için kullanılan dillerdir. İstemci
taraflı kodların çalışması, tarayıcının çalıştığı bilgisayarın işlemcisini
kullanır.
2. Server Side Scripting
(Sunucu Taraflı Script Yazmak)
Kod
satırları sunucu (server) üzerinde çalıştırılır. ASP sayfaları bu alana girer. Yazılan ASP sayfası Web
server üzerindeki yayınlama dizine (\inetpup\wwwroot dizinine) konur.
Örnek: Veritabanına kayıt
<%
'
Set oCon = Server.CreateObject("ADODB.connection")
Set oRs = Server.CreateObject("ADODB.recordset")
'veritabanını
ve tabloyu aç
oCon.Open="Provider=Microsoft.Jet.OLEDB.4.0 ; Data Source=c:\sil\omer.mdb"
oRs.Open
"tbltatil", oCon, adOpenKeyset, adLockOptimistic
oRs.AddNew 'yeni kayıt
eklemek
oRs.Fields("tarih") =
Request.Form ("tarih")
oRs.Fields("otel") =
Request.Form ("otel")
oRs.Fields("sure") =
Request.Form ("sure")
oRs.Update
Response.Write "tatil
bilgileriniz kaydedildi...."
oRs.Close
%>
B. ASP SAYFALARININ
ÖZELLİKLERİ
ASP
sayfaları, bir HTML belgesi olarak hazırlanmış bir metin dosyadır. ASP
sayfaları .asp uzantısıyla kaydedilir ve Web sunucusunda inetpub\wwwroot
dizinine konur.
Aynı HTML
belgelerinde olduğu gibi, ASP sayfalarında da tarayıcının yorumlayacağı bir
takım görsel öğeler ve metinler yine HTML etiketleri (tag) aracılığıyla
yazılır.
Bu
bileşenler Web tarayıcısı tarafından yorumlanır ve gösterilir. Bu
nedenle HTML dosyasına koyabileceğiniz scriptler, yanıp sönen metinler, istemci
taraflı scriptler ve ActiveX denetimleri ASP dosyalarına da konabilir.
ASP sayfalarında yer alan
ASP scriptleri ise
<% ile %> işaretleri
arasına konur.
<% %> arasında yazılan ASP kodları sunucu
tarafından çalıştırılır. Bu işlem sunucu üzerinde yer alan ve
Web hizmetinin bir parçası olan Asp.dll adlı özel bir program tarafından
sağlanır.
C. ASP SAYFALARI NASIL
İŞLİYOR?
ASP
sayfaları sunucu tarafında çalışacak kodlar içerir. Sunucu
taraflı bu dosyalar dinamik içerikli Web sayfaları yaratmayı sağlar. Örneğin Web sitesi üzerinde sipariş vermek gibi. Ayrıca ASP sayfalarında çok sayıda yerleşik nesne olabilir. Bu nesneler ASP dosyalarının script olarak programlanmasını sağlar.
Örneğin Request nesnesi kullanılarak kullanıcıdan bilgi alınır, Response
nesnesiyle de kullanıcıya bilgi gösterilir:
<%
Response.Write("ne
haber")
%>
ASP
sayfaları ayrıca birtakım bileşenlerle zenginleştirilebilir. Sunucu
taraflı ActiveX bileşenleri veritabanlarıyla çalışmayı, elektronik posta
göndermeyi ya da dosya sistemine erişmeyi sağlar. Bu
anlamda ASP sayfalarıyla yapılabileceklerin sınırı yoktur.
ASP sayfalarının işleyişini
HTML belgelerinin işleyişiyle karşılaştırarak şu şekilde açıklayabiliriz:
-Kullanıcı bir Internet
adresinin URL adresini Internet Explorer’ın adres çubuğuna yazar. Bu sunucunu adı ve ASP dosyasını adı (http://localhost/default.asp) yazılır.
-Web sunucusu bu adrese
karşılık gelen dizindeki varsayılan ana dosyayı (bu bir HTML dosya ya da ASP
sayfası olabilir) tarayıcıya gönderir. ASP dosyasını işler ve
sonuçlarını tarayıcıya gönderir.
Bu süreç içinde sayfada yer alan ASP kodları
işlenir. Sonuçları HTML olarak tarayıcıya gönderilir.
-Tarayıcı HTML etiketlerini
yorumlayarak içeriği görüntüler.
D. ASP SAYFALARINI
ÇALIŞTIRMAK
ASP
dosyaları bir öndeki konuda adı geçen ortamlarda hazırlandıktan sonra herhangi
bir derleme işlemi olmadan doğrudan çalıştırılırlar.
Örnek çağırmalar:
http://localhost/test.asp
http://localhost/default.asp
ASP dosyası bir alt dizinde olabilir:
http://localhost/altdizin/test.asp
Uzak bir sunucudaki sayfaya erişim:
http://serverxyz/default.asp
Hazırlanan ASP dosyalarının uzantısı .asp dir. Bu dosyayı çalıştırmak için
Web sunucusu üzerinde wwwroot dizinine konması gerekir. Bunun dışında Internet
Information Server’ın WWW hizmetinin çalışması ya da PWS hizmetinin çalışması
gerekir. Asp dosyalarını çalıştırmak için önce dosya inetpub\wwwroot dizinine
kopyalanır ardından Internet Explorer adres çubuğunda
http://localhost/ornek.asp şeklinde yazılarak çalıştırılır.
NOT: Bu dokümanlar Faruk Çubukçu tarafından hazırlanmıştır. Burada adı
geçen ticari ünvanlar ve markalar bilgi amaçlı kullanılmışlardır ve kendi
imtiyazlarına sahiptirler. Bu dokümanlar ticari amaçlı olarak kullanılmaz. Daha
fazla bilgi için www.farukcubukcu.com adresine bakınız.
Örnek:
<HTML>
<HEAD>
<TITLE> örnek
</TITLE>
</HEAD>
<BODY>
<%
dim tarih
tarih = day(date)&
" " & monthname(month(date)) &" "&
year(date)&" <br>"&weekdayname(weekday(date))&
" "&time
response.write tarih
%>
</BODY >
</HTML>
Örnek:Bilgi
Girişi
tatilbilgisigir.asp
<HTML>
<HEAD>
<TITLE> ÖRNEK FORM
</TITLE>
</HEAD>
<script language =
"VBScript">
sub al()
document.tatil.tarih.value = date()
End sub
Function tatil_OnSubmit()
Tatil_Onsubmit = false
Sonuc= InStr
((document.tatil.sure.value),"@")
If Sonuc = "0"
Then
MsgBox "e-mailiniz
yanlış ", vbCritical, "Giriş Gerekiyor."
tatil.sure.Focus
Else
Tatil_Onsubmit = True
End If
End Function
</script>
<body onload=al()>
<form name=tatil
action=tatilkayit.asp method=post>
Tarih:
<input type=text Name=
"tarih">
<br>
Otel:
<input type=text Name=
"otel">
<br>
Sure:
<input type=text Name=
"sure">
<br>
<input type=submit Name=
"kaydet" value="kaydet">
</form>
</body>
</HTML>
Örnek: tatilkayit.asp
<!--#include
file="ADOvbs.inc"-->
<%
'
Set oCon = Server.CreateObject("ADODB.connection")
Set oRs = Server.CreateObject("ADODB.recordset")
'veritabanını
ve tabloyu aç
oCon.Open="Provider=Microsoft.Jet.OLEDB.4.0 ; Data Source=c:\sil\omer.mdb"
oRs.Open
"tbltatil", oCon, adOpenKeyset, adLockOptimistic
oRs.AddNew 'yeni kayıt
eklemek
oRs.Fields("tarih") =
Request.Form ("tarih")
oRs.Fields("otel") =
Request.Form ("otel")
oRs.Fields("sure") =
Request.Form ("sure")
oRs.Update
Response.Write "tatil
bilgileriniz kaydedildi...."
oRs.Close
%>
II. Gözden Geçirme
1. ASP Nedir? Ne işe yarar?
2. Bir ASP sayfasının uzantısı nedir?
3. ASP sayfasının çalıştırılması için gerekli olan şeyler nelerdir?
4. Web Server nedir?
5. İstemci ve sunucu script yazmanın anlamı nedir?