ASP vagyis Active Server Pages
Ebben az egy mondatban minden benne van, amit az asp-ről tudni kell. Aki egy kiterjedtebb, és gyakrabban használt nyelv felől közelít az asp felé (pl. php), az néhány értelmetlen zsákutcán bizonyára csodálkozni fog, de általánosságban elmondhatjuk, csak a gondolkodásmód más, a lényeg ugyanaz, vagyis szerver oldali programozás. Fontos megjegyezni, az ASP nem egy programozási nyelv, asp-hez Visual Basic Script vagy JScript nyelveket használhatunk, mint eszközt.
Mivel az ASP tipikus Microsoft találmány, felhasználja mindazt, ami a Microsoft-ot webes környezetben jellemzi, vagyis .NET, DLL, ActiveX, és a hasonló varázszavakat. Úgy vélem, akit érdekel a téma, jobban teszi, ha php-vel kezd ki először. Ha már programoztál korábban (pl. VB-ben),akkor nyilván nem lesz nehéz ASP-ben nekilátni egy egyszerűbb weblapnak. Én, mint kocaprogramozó inkább a szkriptnyelvek oldaláról közelítek az asp felé, de csak körbeszaglászom, egyrészt mivel tényleg csak az alapokra koncentrálok, másrészt mivel az asp-t tényleg csak akkor használnám, ha már nincs más megoldás.:)
Az ASP működése
Az ASP Windows platformon az IIS (Internet Information Services) webszerverét használja. A Windows ahol csak teheti, elrejti a felhasználó elől a működését, így idegesítő lehet, hogy nincs annyira egyértelmű helye és config file-ja az IIS-nek, mint pl. az Apache-nak. Ha mégis Apache-ot szeretnénk használni asp-hez, érdemes ide ellátogatnunk: http://www.apache-asp.org/.
Én egy Windows XP SP2-őn használom az IIS-et, aminek a telepítését (ha a Windows installáláskor nem tettük volna meg) elérhetjük a „Start Menü/Vezérlőpult/Programok Telepítése és Törlése” ablakban, ahol különböző Windows összetevőket is hozzáadhatunk vagy eltávolíthatunk. Keressük meg a listában az IIS-t és telepítsük fel. Miután végeztünk, láthatjuk, a windows belekavart a c: (vagy másik) meghajtónkba, nekem egy Inetpub könyvtár formájában. Az Inetpub/wwwroot könyvtár lesz a gépen azon dokumentumok alapértelmezett helye, amiket a webszerverünk fog a klienseknek (a látogatóknak) szolgáltatni, de ezen kívül is elhelyezhetjük saját asp oldalainkat.
A Windows mint mindenhez, az IIS kezeléséhez is ad „vizuális” segítséget, jelen esetben ez a gyönyörű nevű Microsoft Managment Console, az MMC. Az MMC-t a Start Menü/Futtatás-ra kattintva, majd a parancssorba az mmc szót beírva érhetjük el. Ha bejött a program, a File/Beépülő Modul hozzáadása menüre kattintva, majd a megjeleő ablakban a „Hozzáadás” ikonra kattintva a lsitáól kiválasztva megkapjuk az IIS ablakát, a „localhost”-nak megfelelő Alapértelmezett webhellyel, és az IIS helpjével.
Most nyissunk egy üres txt file-t, és csináljunk egy egyszerű asp lapot:
<% Response.Write "Ez a 40 milliomodik Hello Word program" %>
Ezt elmenthetjük mondjuk hello.asp néven, az Inetpub/wwwroot alatt tettszőleges helyre, ha egy helyre szeretnéd menteni a későbbi scripteket is, akkor csinálj egy almappát, és mentsd le oda.
Nálam ez:Inetpub/wwwroot/webdev/hello.asp
Nyissunk egy böngészőt, és írjuk be: http://localhost/webdev/hello.asp
Elvileg ennyit kell látnunk:
„Ez a 40 milliomodik Hello Word program”
Megjegyzés: Ha bármi mást is látunk, akkor valamit rosszul csináltunk.
Fontos, hogy a böngészőben nyissuk meg a lapot. Kezdő webprogramozók nagy fájdalma, hogy lapjuk pl. Total Commanderből megnyitva (böngészőben) nem futtatódik le. Ennek az a magyarázata, hogy a böngésző mint ügyfélprogram nem tudja lefordítni az asp oldalt, ahogy a php nyelven írt lapot sem, ez a webszerver feladata (A Winamp sem nyitja meg a .doc dokumentumot, persze erőltetni lehet…).
Mivel nem tud vele mit csinálni, így mint sima szöveg (plain text) jeleníti meg, ezért lehetséges, hogy amikor megnyitjuk a c:/Inetpub/wwwroot/webdev/hello.asp állományt (erről az útról persze), akkor a fenti jó megoldás helyett csak az alábbit kapjuk ( A ” kacsacsőr-százalék ” jelekkel együtt):
<% Response.Write "Ez a 40 milliomodik Hello Word program" %>
Kezdőknek: Hogy működik egy webszerver? A webszerver egy alkalmazás, ami foylamatosan fut egy számítógépen a háttérben, és figyeli, hogy ki próbál meg csatlakozni a géphez a megadott porton (pl. 80-as port). Mindenki kipróbálhatja, pl. a windows beépített telnet programával:
telnet www.index.hu 80
Ekkor „bejelentkezünk” az index webszerverére, majd a GET / paranccsal megkaphatjuk ugyanazt a kezdőlapot, amit a böngésző is megkap, mint választ, ha beütjük a www.index.hu címet. Tehát mikor beütjük, hogy www.google.com, a webszerverhez (valahogy) eljutatott kérés alapján a szerver „csinál” nekünk egy adott oldalt, amit elküld a böngészőnek. A böngésző, mivel alapvetően a HTML nyelv megjelenítésére tervezték, alapesetben egy html oldalt kap vissza, a szerver válaszát. A szerver oldali nyelvek a szerveren elvégzik a munkájukat, a felhasználó ebből ideális esetben semmit nem lát.
Az ASP esetében ez a következőképpen törénik: Mikor lekérünk egy lapot egy szerverről, mondjuk a www.penzesoldal.com/fontos.asp-t, akkor a webszerver (az IIS) megnézi, hogy a lekért oldal kiterjesztése asp-e, és ha igen, azt átadja az asp vezérlőnek (script host). Ez egy DLL file, ami az asp kódot értelmezi, és a megfelelő scriptértelmezőnek továbbküldi, majd azok válaszát html kóddá alakítva, beszúrja az „eredeti” lekért lapba, a megfelelő helyre. A válasz így már tiszta html lap, kivétel ez alól a kliens oldali (pl. javascript) scriptek, amiket a webszerver és az értelmező nem vesz figyelembe.
Nézzük meg egy konkrét példával, kicsit kibővítve a fenti állományt:
Nyissunk megint egy üres txt file-t és írjuk bele:
ASP példa Ez itt egy html szöveg
<% Response.Write "Ezt az asp-től kaptam, hurrá
" Response.Write ""&Time&"
" %>
Ezt elmentve, majd a böngészőben megnyitva, kb. ezt látjuk:
Ez itt egy html szöveg
Ezt az asp-től kaptam, hurrá
3:05:28
Ha megnézzük a forrást, láthatjuk, hogy lényegében nem különbözik egy sima html oldaltól, azonban ahányszor frissítjük az oldalt, mindig mást láthatunk, pontosabban a kijelzett idő változik meg. Ez pontosan azért van, mert ahányszor újratöltjük az oldalt, a böngésző csatlakozik a webszerverhez, és lekéri a „hello.asp” lapot, amin az asp értelmező a „Time” függvény hatására mindig kiírja az épp aktuális időt. Ezért mondhatjuk, hogy „Aktív” lapokat kapunk, hasonlóan a php-hez, ezt nevezzük (talán) dinamikus oldalnak.
Aki többet akar tudni az asp-ről,annak néhány link:
Haneng.com
Aspin.com
ASP tankönyv
BL
Remek! És milyen módon törölhetem az egész C:\Inetpub mappát?Nincs rá szükségem.Egyszerű jobb klikkel nem törölhető.
Kössz a választ!
R.