Základy ASP - 2.časť ASP

V minulej časti sme sa venovali Úvodu do ASP. Dnes sa pozrieme z čoho sa vlastne ASP skladá. Ako pikošku si dnes dáme počítadlo aktuálnych spojení.

Internetovská aplikácia a súbor GLOBAL.ASA Dávno je za nami obdobie keď Internetovské stránky plnili funkciu čisto informačnú. Riešenia serióznejších softwarových firiem sa stávajú čoraz viac komplexnejšie a samozrejme zložitejšie. Jednoduché stránky s pár linkami sa menia na veľké Internetovské aplikácie. Tu sa však vynára otázka : "Čo vytvára z niekoľko navzájom prepojených stránok Internetovskú aplikáciu ?"

Definícia aplikácie (programu) je pomerne známa : "Aplikácia začína momentom keď uživateľ spustí program a končí sa jeho ukončením." Ako však uplatniť túto definíciu pre Internet ? Ako iste vieme, každá požiadavka vyslaná na server je nezávislá. Server prijme požiadavku, vyhodnotí ju a výsledok pošle späť prehliadaču. Ako teda správne pracovať s premennými viazanými na uživateľa resp. aplikáciu ?

To čo robí webovské stránky Internetovskou aplikáciou sú spojenia medzi Serverom a Prehliadačom. Tieto spojenia sú zabezpečené v ASP dvoma spôsobmi :

A práve toto je ASP riešenie a nachádza sa v súbore GLOBAL.ASA, ktorý vyzerá nasledovne :

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
   <príkazy>
End Sub

Sub Session_OnEnd
   <príkazy>
End Sub

Sub Application_OnStart
   <príkazy>
End Sub

Sub Application_OnEnd
   <príkazy>
End Sub
</SCRIPT>

Rozoberme si teraz podrobnejšie súbor GLOBAL.ASA. Prvý riadok určuje, aký programovací jazyk je použitý a že súbor sa má spustiť na serveri. Ďalej sú zachytené 4 udalostné procedury (procedúra ktorá sa vykoná ak sa stane určená udalosť):

Tieto procedúry nám slúžia ohraničenie Session a Application. Môžeme teda určiť, čo sa má stať pri týchto udalostiach.

Premenné Session a Application

Kedže sme si už zadefinovali čo je to Session a Application je veľmi jednoduché pochopiť čo sú to premenné Session a Application.

Premenná Session je premenná patriaca konkrétnemu prehliadaču, ktorej platnosť je ohraničená dĺžkou Session.

Príklad:

Sub Session_OnStart
   Session("User") = "anonym"
End Sub

To znamená, že pre každého nového uživateľa vznikne premenná 'User'. Samozrejme môžeme túto premennú meniť v akomkoľvek skripte.

Premenná Application je jedinečná premenná patriaca aplikácii, ktorej platnosť je ohraničená dĺžkou Application.

Príklad:

Sub Application_OnStart
   Application("Database_User") = "user"
   Application("Database_PSWD") = "passwd"
End Sub

Využitie jasné. Pri nadväzovaní spojenia s databázou použijeme tieto premenné. Ak sa zmení prihlasovacie meno alebo heslo do databázy, stačí túto zmenu aplikovať len na tomto jednom mieste.

Počítadlo aktuálnych spojení

S tým čo sme si doteraz povedali nebude problém pochopiť počítadlo aktuálnych spojení s aplikáciou. Súbor GLOBAL.ASA vyzerá nasledovne :

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
   Application("Counter") = 0
End Sub
Sub Session_OnStart
   Application("Counter") = Application("Counter") + 1 End Sub
Sub Session_OnEnd
   Application("Counter") = Application("Counter") - 1 End Sub </SCRIPT>

Na vypísanie použijeme známy príkaz <%=premenná%>. Súbor vypis.htm bude vyzerať nasledovne :

<HTML>
<HEAD>
<TITLE>Pocitadlo</TITLE>
</HEAD>

<BODY>

<H4>
  Práve existuje <%=Application("Counter")%> 
spojení na túto aplikáciu.
</H4>

</BODY>

</HTML>
Objekty a komponenty

Na vytváranie ASP stránok používame skriptovací jazyk od Microsoftu - VBScript. Samotný jazyk vychádza z Visual Basic-u, ale je upravený. Keďže to nie je plne funkčný jazyk (chýbajú mu niektoré dosť podstatné funkcie, napr.: pre prístup k dátam, práca so súbormi, ...) ASP obsahuje ako riešenie objekty a komponenty. Sú to knižnice DLL ActiveX. Aký je medzi nimi rozdiel ?

Objekty sú prvky AciveX, ktoré sú interne zabudované do ASP. Netreba ich pre použitie explicitne vytvárať. Sú to :

Komponenty sú knižnice DLL existujúce mimo ASP. Teda je možné si ich vytvoriť v ľubovoľnom programovacom jazyku. Keďže väčšina vývojárov ASP používa Microsoft InterDev uvediem komponenty v ňom zahrnuté :

Toľko na dnes. Na budúce si povieme niečo bližšie o objektoch a komponentoch ASP ...

Developer,
Stiahnuté z Developer.sk