Bir önceki yazıda, AJAX anlatımına başlarken gerekli olabilecek istemci bazlı yazılıma başlangıç yapmıştım. Şimdi biraz da sunucu tarafına bakalım. Sunucu bazlı yazılım geliştirmede geçmişte çok revaçta olan ASP ile ilgili
Response şudur,
Request ile şunlar yapılır gibi bir şeyler söyleyeceğim yok. Bunların ne işe yaradığı bilinmiyorsa zaten AJAX ile ilgili bir şeyler yapmaya heveslenmek ve sırf bunun için bu yazıları okumak da gereksiz bir işlem. ASP` yi ilgili kişiye öğretebilecek
tonla site var internette. Bunları öğrendikten sonra HTTP protokolünün nasıl çalıştığına dair bir kaç şey vardır insanın aklında. Uzun lafın kısası,
ASP dediğimiz sunucu bazlı yazılım platformu; istemciden gelen istekleri değerlendirip, sunucu kaynaklarını akıllı bir şekilde kullanarak, düzgün bir HTML oluşturmaya yarayan bir ortamdır demek sanırım bir çok kişi için anlaşılır olacaktır. Buradaki anahtar kelime olan "düzgün bir HTML" ile demek istediğim W3C standartlarına uygun olarak, basit ve anlaşılır üretilmiş olan koddur. Yoksa, kendisine "web tasarımcısı", "içerik ve tasarım `uzman`ı", "web`i yemiş bitirmiş kişi", "internetin kitabını yazan insan" diyen ama bir basit tablo için 50Kb ya da 60Kb HTML üreten kişilerin kodlarından bahsetmiyorum(ki bununla ilgili örnekleri bir başka yazıda vereceğim).
Basit olarak bir ASP kodu, web sunucusuna gelen isteğe göre, sadece sunucunun ulaşabildiği imkanlar ile, farklı sunum yapma imkanı sağlar. Bir veritabanından bilgi alıp bunu istemciye gönderebilir, kullanıcıdan/istemciden aldığı bilgilere göre doğrulamalar yapıp sadece o kullanıcıya özel işlemler gerçekleştirebilir. Microsoft tabanlı sistemlerde, kullanıcıdan gelen isteklerin -eğer bu istek ASP uzantılı bir dosyaya yönelik ise- değerlendirilip "derlendiği" arabirimin adı ASP.DLL` dir. Burada ufak bir parantez açıp şunu da eklemek isterim. Microsoft sunucu platformunun varsayılan kurulumunda
IIS ile sadece ASP uzantılı dosyalarda sunucu bazlı kodlar çalıştırılabilmektedir(.NET ve Vista gelişimlerini göz önünde bulundurmadım). Eğer siz uzantısı ASP dışında bir dosyada sunucu bazlı kod çalıştırmak isterseniz -üzgünüm ama- maalesef bunu başaramazsınız. Örneğin şu kodu:
<P>Dedim ki, "<%="Elveda uzay, elveda feza..."%>"</p>
HTML uzantılı bir sayfada belirtirseniz, elde edeceğiniz tek şey şu olur:
Oysa aynı kodu bir ASP uzantılı sayfaya yerleştiriseniz bunun yerine ekranda şunu görürsünüz:
Bunun önüne geçmeniz için sunucu ayarlarında bir iki değişiklik yapmanız gerekir. Diyelim ki siz manyaksınız ve .mirmirik uzantısına sahip sayfaların tümünün ASP kodu işlemesini istiyorsunuz(
Microsoft sitesindeki .MSPX uzantılı dosyalara dikkatinizi çekerim). Bunun için IIS üzerinde yapmanız gerekenleri
şuradaki resimde göstermeye çalıştım. Bu resimdeki adımları takip ederek şunları yapmanız gerekiyor
1. İstediğiniz uzantıdaki dosyayı çalıştıracağınız Web Uygulamasını seçip sağ tıklayın ve çıkan menüden "Properties" seçin.
2. Uygulama özellikleri penceresindeki bölümden "Configuration" düğmesine tıklayın.
3. Değişik uzantıların varsayılan düzenlemelerinin yapılmış olduğu "Uygulama Ayarları" penceresi çıkacak. Buradan "Add..." butonuna tıklayın.
4. Sonunda istediğimiz yere ulaşabildikten sonra "Executable" sorgusunun olduğu yere bir önceki pencerede ".asp" uzantısına ilişkilendirilmiş olan ASP.DLL dosyasının tam yolunu yazın. Benim bilgisayarımda bu dosya "c:\windows\system32\inetsrv\asp.dll" yolunda idi. "Extension" kısmına sunucu bazlı kodunuzun çalışmasını istediğiniz uzantıyı önünde nokta olacak şekilde yazın. (örneğimizdeki ".mirmirik"). Daha sonra da "OK" butonuna tıklayarak ve öncesinde açılmış olan pencerelere de aynı işlemi uygulayarak çalışmanızı tamamlayın.
Bu sayede artık şu görüntüyü alabiliyor olmanız gerekir:
Herhangi bir sorun oluşursa "yorumlar" kısmına yazabilirsiniz. AJAX / JS ve ASP yazılarına daha sonra devam edeceğim...
Kelimeler: Açık Kaynak,
AJAX,
ASP,
ASP.NET,
Bedava, free,
Blog,
CSS,
Firefox,
GNU,
IIS,
Javascript,
Microsoft,
Mozilla,
MSN,
Netscape,
Open Source,
Site dizayn,
W3C,
Web sitesi,
XHTML
« AJAX - I (javascript)
|
Tasarim ve Içerik Soru"n"lusu »