Programovßnφ ASP strßnek - 1. dφl

Tento Φlßnek je prvnφm dφlem serißlu, ve kterΘm bychom vßs cht∞li struΦn∞ seznßmit s mo₧nostmi tvorby programov²ch skript∙ b∞₧φcφch na stran∞ serveru. Zkratka "ASP" m∙₧e v²razn²m zp∙sobem zjednoduÜit vaÜi prßci p°i vytvß°enφ WWW strßnek, Chip tento serißl p°inesl v roce 1999-2000.

Pokud se zab²vßte tvorbou HTML strßnek, jist∞ mi dßte za pravdu, ₧e jde o Φinnost nesmφrn∞ tv∙rΦφ a zßrove≥ nßroΦnou. Mnohdy nejde jen o to, set°φdit informace urΦitΘho charakteru a "zalomit" je s pomocφ HTML p°φkaz∙ do podoby WWW strßnky, ale je zapot°ebφ zvolit takΘ vhodnΘ grafickΘ uspo°ßdßnφ (typy pφsma a jejich velikosti, kombinace barev atd.), aby takovß strßnka p°φpadnΘ nßvÜt∞vnφky zaujala. Dßle zßle₧φ na rozsahu WWW strßnek a jejich funkcφch. P°i tvorb∞ osobnφch strßnek nebo malΘ firemnφ prezentace zcela jist∞ vystaΦφte s klasick²m HTML editorem, ve kterΘm spojφte jednotlivΘ p°edem p°ipravenΘ prvky strßnky do jednoho celku. Pokud vÜak pracujete v∞tÜφm projektu, d°φve Φi pozd∞ji narazφte na problΘm spojen² s interaktivitou strßnek. Standardnφ HTML p°φkazy slou₧φ toti₧ pouze k formßtovßnφ textu a obrßzku do urΦitΘ podoby, ale u₧ nedokß₧ou zpracovat ·daje zaslanΘ nßvÜt∞vnφkem strßnky prost°ednictvφm vstupnφho formulß°e nebo vygenerovat z databßze p°ehled v²robk∙ na sklad∞. V takovΘm p°φpad∞ je zapot°ebφ vyu₧φt specißlnφch programov²ch skript∙, kterΘ provedou po₧adovanou Φinnost (nap°φklad zjistφ aktußlnφ datum) a v²sledek zobrazφ na WWW strßnce. Zp∙sob∙, jak dosßhnout po₧adovanΘho efektu, existuje hned n∞kolik a podle toho, kde probφhß zpracovßnφ p°φsluÜnΘho p°φkazu, je rozd∞lujeme na skripty (Φi programovΘ komponenty), kterΘ b∞₧φ na stran∞ prohlφ₧eΦe WWW strßnek (client-side scripts) a skripty, kterΘ b∞₧φ na stran∞ serveru (server-side scripts).

Na serveru nebo v prohlφ₧eΦi

Typick²mi p°φklady komponent b∞₧φcφch na stran∞ prohlφ₧eΦe jsou nejr∙zn∞jÜφ javovΘ applety, ActiveX prvky nebo JavaScript. Tyto progrßmky se stahujφ b∞hem naΦφtßnφ strßnky a teprve po jejich plnΘm nata₧enφ zaΦnou provßd∞t po₧adovanou Φinnost. Jejich hlavnφ v²hodou je odlehΦenφ zßt∞₧e serveru, nebo¥ tyto komponenty b∞₧φ na stran∞ klientu a pro svou Φinnost tudφ₧ vyu₧φvajφ procesorov² Φas klientu. Ne vÜechny prohlφ₧eΦe WWW strßnek jsou s t∞mito komponentami pln∞ kompatibilnφ, a tak se m∙₧e Φasto stßvat, ₧e se n∞kter²m nßvÜt∞vnφk∙m WWW strßnka sice naΦte, ale bude prßzdnß nebo bude obsahovat naprosto zmatenΘ ·daje. Z tohoto d∙vodu se doporuΦuje pou₧φvat tyto komponenty hlavn∞ v aplikacφch urΦen²ch pro pot°eby podnikov²ch intranet∙, kde se dß jednoduÜe zajistit, aby p°evß₧nß Φßst pracovnφk∙ firmy m∞la nainstalovan² stejn² prohlφ₧eΦ. Pro pot°eby internetu se vÜak ve v∞tÜφ mφ°e pou₧φvajφ skripty b∞₧φcφ na stran∞ serveru, jde hlavn∞ o CGI skripty a ASP strßnky (my se budeme v∞novat druhΘmu jmenovanΘmu fenomΘnu). Hlavnφ v²hodou obou je nezßvislost na typu pou₧itΘho prohlφ₧eΦe. Po₧adovanß funkce se provede na stran∞ serveru a teprve jejφ koneΦn² v²sledek, tedy vygenerovanß WWW strßnka, je zaslßn do prohlφ₧eΦe klientu. P°i tomto °eÜenφ vÜak dochßzφ k daleko v∞tÜφ zßt∞₧i procesoru na serveru, a tak se v praxi kombinujφ oba zp∙soby. Profesionßln∞ naprogramovanΘ WWW strßnky pracujφ tak, ₧e nejd∙le₧it∞jÜφ akce (nap°. v²pis polo₧ek z databßze) provedou na stran∞ serveru a zbytek (nap°. kontrola sprßvnosti u₧ivatelem vklßdan²ch parametr∙ p°i vypl≥ovßnφ formulß°e) se provßdφ na stran∞ klientu. V nßsledujφcφm Φlßnku a dalÜφch dφlech vÜak zam∞°φme naÜi pozornost hlavn∞ na tvorbu skript∙ pracujφcφch na stran∞ serveru, tedy na server-side scripts v prost°edφ technologie ASP.

Co je to ASP

Na internetu se jako prvnφ zaΦaly pou₧φvat tzv. CGI skripty (programovΘ skripty pracujφcφ na stran∞ serveru, nejΦast∞ji naprogramovanΘ v Perlu nebo v C++). Pozd∞ji p°iÜla firma Microsoft se svou vlastnφ specifikacφ skript∙, pracujφcφ na podobnΘm principu jako CGI a nazvala je Active Server Pages. Do ΦeÜtiny by se toto oznaΦenφ dalo p°elo₧it jako "aktivnφ serverovΘ strßnky". Slovo strßnky zde Microsoft pou₧il zcela zßm∞rn∞. P°i tvorb∞ WWW strßnky se toti₧ postupuje tak, ₧e se do HTML k≤du vklßdajφ programovΘ sekvence neboli skripty. HTML strßnka obohacenß o kousky programovΘho k≤du se potom oznaΦuje jako ASP strßnka. Pokud si nßvÜt∞vnφk serveru vy₧ßdß takovou strßnku, dojde nejprve k jejφ anal²ze a nßslednΘmu spuÜt∞nφ na stran∞ serveru. To vygeneruje strßnku, kterß u₧ obsahuje pouze HTML k≤d s v²sledky proveden²ch akcφ, a ta se poÜle do prohlφ₧eΦe u₧ivatele.

S pomocφ krßtk²ch programov²ch sekvencφ (kterΘ zabezpeΦujφ zßkladnφ p°φkazy typu IF, FOR .. NEXT atd.) lze vklßdat do ASP strßnky takΘ specißlnφ funkΦnφ komponenty oznaΦovanΘ jako server-side AxtiveX Controls. Jde o malΘ programy, kterΘ u₧ d°φve n∞kdo naprogramoval a zkompiloval. Pou₧φvajφ se tak, ₧e se do ASP strßnky umφstφ programovß sekvence obsahujφcφ volßnφ tohoto programu s p°φsluÜn²mi parametry. Komponent ActiveX b∞₧φcφch na stran∞ serveru dnes existuje ji₧ celß °ada, vφce informacφ o nich m∙₧ete zφskat na internetu na adrese http://www.activeserverpages.com. Microsoft umφstil do zßkladnφ instalace podpory ASP strßnek p∞t hlavnφch a Φasto pou₧φvan²ch komponent:
  1. Database Access component - zabezpeΦuje funkce pro vstup a v²stup z databßze;
  2. Ad Rotator component - pro rotovßnφ reklamnφch baner∙ v p°edem stanovenΘm procentußlnφm pom∞ru;
  3. File Access component - slou₧φ pro p°φstup k soubor∙m na disku;
  4. Browser Capabilities component - umo₧≥uje zjistit typ klientem pou₧φvanΘho prohlφ₧eΦe WWW strßnek vΦetn∞ jeho verze;
  5. Content Linking component - komponenta pro jednoduchou sprßvu odkaz∙ na WWW strßnkßch.
Software pro tvorbu ASP

Ne₧ se pustφme do samotnΘ tvorby skript∙, je d∙le₧itΘ, abychom si °ekli n∞co o softwarovΘm zßzemφ, kterΘ je k jejich tvorb∞ zapot°ebφ. K tomu, abyste mohli spouÜt∞t ASP strßnky, pot°ebujete mφt na vaÜem poΦφtaΦi nainstalovßn internetov² server (HTTP + FTP server) s podporou ASP strßnek. Pro tvorbu a okam₧itΘ testovßnφ ASP strßnek je proto nejlepÜφ sφ¥ov² operaΦnφ systΘm Windows NT 4.0 a internetov² server MS IIS 3.0 nebo 4.0 (Microsoft Internet Information Server). Pokud vÜak nemßte Windows NT, doporuΦujeme zvolit Windows 95 nebo Windows 98 a doinstalovat si internetov² server Microsoft Personal Web Server a podporu ASP. Tak lze ASP strßnky tvo°it takΘ a pokud si chcete jejich tvorbu jen vyzkouÜet, je to mnohem sch∙dn∞jÜφ cesta, ne₧ zgruntu instalovat Windows NT. PoΦφtejte ovÜem s tφm, ₧e p°i pozd∞jÜφm p°evodu slo₧it²ch ASP strßnek na Windows NT mohou nastat drobnΘ problΘmy.

ASP strßnky jsou svou strukturou na prvnφ pohled velmi jednoduchΘ, tak₧e pokud ovlßdßte zßkladnφ HTML p°φkazy, m∙₧ete je tvo°it i v notepadu nebo libovolnΘm textovΘm editoru. Jist∞ nenφ bez zajφmavosti, ₧e tφmto zp∙sobem se ASP strßnky tvo°ily ve sv²ch zaΦßtcφch, kdy neexistoval nßstroj pro jejich elegantn∞jÜφ sestavovßnφ. Takovß aplikace vÜak ji₧ dnes existuje a jmenuje se Microsoft InterDev. Na ΦeskΘm trhu je v souΦasnΘ dob∞ u₧ druhß verze tohoto produktu, kterß je distribuovßna pod oznaΦenφm Microsoft InterDev 6.0. Podle mΘho nßzoru je vÜak novß verze ji₧ p°φliÜ "robustnφ" ve smyslu nesΦetnΘho mno₧stvφ nßstrojov²ch liÜt a pr∙vodc∙ a jß osobn∞ rad∞ji pou₧φvßm starÜφ verzi 1.0. Pokud se ale rozhodnete pou₧φvat InterDev 6.0, doporuΦuji zvolit o n∞co v∞tÜφ monitor, minimßln∞ 17palcov², p°i rozliÜenφ alespo≥ 1024 x 768.



Obr 1. Takto vypadß v²vojovΘ prost°edφ programu Microsoft InterDev 1.0


PoprvΘ je to nejlepÜφ

Vzh∙ru k praxi - nynφ si ukß₧eme tvorbu velmi jednoduchΘ ASP strßnky, do kterΘ umφstφme programov² skript pro zv∞tÜovßnφ velikosti pφsma. Pokud pou₧φvßte MS InterDev 1.0, nezapome≥te si nejprve vytvo°it pracovnφ virtußlnφ WWW server, ve kterΘm bude ASP strßnku tvo°it (File-->New-->Projects-->Web Project Wizard), a pojmenujte ho t°eba pokus. PotΘ zalo₧te novou ASP strßnku (File-->New-->Files-->Active Server Page) a nazv∞te ji default.asp. P°i tvorb∞ ASP strßnek se pou₧φvß v∞tÜinou jazyk Visual Basic, ti nßroΦn∞jÜφ mohou psßt ASP strßnky takΘ v JavaScriptu i jin²ch jazycφch. ASP strßnka generuje Φty°i po sob∞ jdoucφ texty o r∙znΘ velikosti pφsma a k tomu pou₧ijeme FOR cyklus. Mezi tagy HTML a BODY oznaΦujφcφ zaΦßtek a konec HTML strßnky vlo₧te nßsledujφcφ °ßdky:

v²pis k≤du jednoduchΘ ASP strßnky

Pokud se na tento programov² k≤d podφvßte pozorn∞ji, zjistφte, ₧e je kombinacφ HTML p°φkaz∙, textu a programovΘho k≤du Visual Basicu, kter² je v₧dy zapoΦat sekvencφ znak∙ <% a ukonΦen sekvencφ %>.
V²hodou psanφ ASP strßnek ve v²vojovΘm prost°edφ InternDev je automatickΘ barevnΘ oznaΦenφ jednotliv²ch Φßstφ ASP strßnky. HTML tagy jsou fialovΘ, jejich parametry ΦervenΘ, hodnoty parametr∙ modrΘ, zobrazen² text Φern² a kousky programovΘho k≤du jsou zv²razn∞ny ₧lutou barvou.


Pokud mßte APS strßnku hotovou, nezapome≥te ji ulo₧it a zkuste si ji pokusn∞ prohlΘdnout v prohlφ₧eΦi WWW strßnek. Pokud mßte sprßvn∞ nainstalovßn a spuÜt∞n HTTP server, m∞la by se vßm ve vaÜem prohlφ₧eΦi objevit WWW strßnka obsahujφcφ text "Toto je mß ASP strßnka", zobrazenß opakovan∞ na p∞ti °ßdcφch, poka₧dΘ v∞tÜφm fontem. Ne v₧dy se poda°φ napsat ASP strßnku napoprvΘ tak, aby bezchybn∞ fungovala. Pokud obdr₧φte p°i zavolßnφ strßnky chybovΘ hlßÜenφ, po°ßdn∞ si jej p°eΦtete. HlßÜenφ obsahuje obvykle Φφslo chyby (co₧ vßm nic ne°ekne), na kterΘm °ßdku k chyb∞ doÜlo (to je naopak velmi u₧iteΦnß funkce) a popis, kde k chyb∞ doÜlo, p°φpadn∞, kter² p°φkaz je nßsledn∞ oΦekßvßn.



Obr 2. Pokud byla ASP strßnka bezchybn∞ napsßna a ulo₧ena, zobrazφ se vßm v prohlφ₧eΦi tento v²stup.



Obr 3. A takto vypadß HTML k≤d vygenerovanΘ strßnky.


Co dßle

V dalÜφch dφlech serißlu o ASP se povφme vφce o mo₧nostech vyu₧itφ ASP strßnek v praxi, ukß₧eme si zp∙soby integrace n∞kter²ch AcitveX komponent od strßnek, p°edvedeme si vyhodnocovßnφ ·daj∙ zasφlan²ch po internetu prost°ednictvφm formulß°∙ a v neposlednφ °ad∞ se budeme zab²vat zφskßvßnφm t°φd∞n²ch informacφ z databßze na zßklad∞ u₧ivatelskΘho dotazu. P°ejeme vßm hodn∞ ·sp∞ch∙ a pevnΘ nervy (ty p°edevÜφm) p°i tvorb∞ vaÜich prvnφch ASP strßnek.

Martin Dvo°ßΦek

ASP strßnka ... v²pis k≤du ASP strßnky


Obsah