Vad är ASP?
ASP står för Active Server Pages och är en teknologi från
Microsoft för att göra hemsidor mer levande eller "Aktiva". Asp
tillåter programmeraren att använda ett skript språk som körs på webbservern.
ASP är alltså inget programmeringsspråk i sig själv utan
bara ett ramverk i hur de olika skript språken ska fungera.
De flesta som använder ASP programmerar i VBScript som är en
bantad version utav Microsofts Visual Basic (därav namnet Script). Det går även
att programmera i t ex JScript, Rexx, PERL osv.. Men då är man lite utav en
ensamvarg.
Vad krävs för att köra ASP?
Eftersom ASP kod körs på webbservern måste webbservern
självklart förstå vad ASP är, det gör följande webbservrar :
IIS 3.0 (Internet Information Services) och uppåt, på
Windows NT Server, 2000 eller XP Professional
PWS (Personal Webb Server) på Windows 9x och
Millennium.
Finns även vissa tillägg till Apache webbserver (körs
på Linux datorer) som tillåter användaren att köra ASP, jag har dock dåliga
erfarenheter utav dom.
Man kan inte köra ASP sidor direkt i webbläsaren som man kan
med HTML filer, detta på grund av att webbläsaren ej förstår ASP kod.
När man ska kolla på en ASP sida så måste man alltså använda
en http-adress som t ex http://datornamn/sidan.asp.
Vad kan man göra med ASP?
ASP låter programmeraren bygga dynamiska webbsidor (levande
sidor) till skillnad från HTML som är statisk (innehållet ändras ej
automatiskt).
Några exempel på vanliga funktioner som man kan bygga i ASP
:
q
Medlemsregister på Internet
q
Forum
q
Chatt
q
Gästböcker
q
E-handel
Det är oftast bara fantasin som sätter gränserna. Det man
dock inte ska glömma är att ASP samarbetar med HTML för att pressentera
resultatet av koden, så begränsningar i HTML drabbar ASP sidorna också.
De flesta ASP-sidorna på Internet bygger på någon form utav
databas i grunden, ofta Microsoft Access, SQL-server eller MySQL.
Server side scripting vs. Client side scripting?
Som jag nämnde ovan körs ASP-kod på servern (alltså server
side scripting). Det betyder att det är webbservern som tolkar ASP-koden och
visar sedan sitt resultat.
JavaScript, HTML osv. är Client side scripting, alltså
webbläsaren måste förstå det vi kodar.
ASP är alltså Server side scripting, men den förlitar sig på
HTML för att visa resultatet av koden och HTML är client side scripting men som
tur är stödjer alla webbläsare HTML ganska bra.
Hur skapar jag en ASP-sida?
Det första du måste se till är att du lägger filen på rätt
ställe, den måste som jag nämnde ovan ligga i en mapp som webbservern delar ut.
Om du kör webbserver på din egna dator så är det oftast
"c:\inetpub\wwwroot" som filerna ska ligga i.
Skapa en textfil på det stället och döp den till t ex
test.asp
Öppna sedan filen i anteckningar (eller något annat program
du föredrar, passa dig bara för t ex frontpage och liknande editorer) och skriv
följande kod :
<HTML>
<HEAD>
</HEAD>
<BODY>
<% = Date %>
</BODY>
</HTML>
Spara filen och öppna din webbläsare, skriv in adressen till
webbplatsen, http://localhost/test.asp om du kör på din egna dator.
Sidan bör visa dagens datum och om du väljer att visa källan
för sidan i webbläsaren ser du följande kod :
<HTML>
<HEAD>
</HEAD>
<BODY>
2002-05-23
</BODY>
</HTML>
Det är nämligen så att webbservern plockar bort all ASP-kod
och visar endast resultatet av ditt skript.
Delimiters
I koden ovan såg du att vi använde oss utav vanlig HTML-kod
blandat med ASP-kod. All ASP-kod ska skrivas innanför s.k. Delimiters
(avgränsare), En delimiter för att starta ASP-kod skriver man så här "<%" och för att
avsluta ASP-blocket skriver du "%>". Man kan starta och avsluta ASP-block hur många
gånger man vill i sin kod. Det måste dock alltid finnas en slut för varje start
delimiter.
Man ska också tänka på att inte starta och avsluta för
mycket i koden då det kräver mer prestanda av webbservern att växla mellan HTML
och ASP-kod hela tiden.
Mer kod :
<HTML>
<HEAD>
</HEAD>
<BODY>
Klockan är : <% = Time %>!
</BODY>
</HTML>
Som du ser i koden ovan kan man "blanda" HTML och
ASP-kod.
Delimiters kan även sträcka sig över flera rader :
<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Dim Datum
Datum = Date
Response.Write(Datum)
%>
</BODY>
</HTML>
Case sensitive?
Ganska många programmeringsspråk är s.k. Case sensitive,
vilket betyder att de är noga med versaler och gemener. VBScript är inte ett av
dom, i VBScript kan du skriva som du vill.
Men det finns något som brukar kallas för god
programmeringssed, och det innebär att man ska skriva på ett enkelt och lätt
läst sätt. Vem vet, kanske någon annan ska ändra i din kod i framtiden?
Några exempel :
<% for i = 1 to 30 %>
<% FOR I = 1 TO 30 %>
<% fOr I = 1 tO 30 %>
<% For I = 1 To 30 %>
Dessa exempel fungerar precis lika bra och VBScript bryr sig
inte hur du skriver egentligen.
Men ärligt vilket är mest logiskt att använda? Jo det sista
exemplet.
Kommentarer
En annan god sed som finns inom programmeringsvärden är att
kommentera sin kod. Det gör man främst för sin egen skull och för de som
eventuellt ska in och pilla i koden efter oss.
Om du utvecklar en stor site som tar flera veckor (månader?)
att bygga, då finns det stor risk att du ej kommer ihåg varför du programmerade
just på det sättet i en gammal fil. Kommentarer kan kännas onödiga och
tidskrävande men de lönar sig oftast i det långa loppet.
Så här gör man en kommentar i VBScript :
<%
' Kommentarer
Response.Write(Date) ' Detta är också en kommentar
%>
Man använder enkla citattecken (samma knapp som * ligger
på). Allt som ligger till höger om ett sådant tecken kommer ej att behandlas
utav webbservern.
<% ' Response.Write(Time) %>
Koden ovan kommer ej att köras eftersom vi har kommenterat
"bort" den. Detta är ett bra sätt att tillfälligt sätta vissa delar
utav koden ur funktion.
Hur går jag vidare?
När du har förstått grunderna i VBScript och ASP så är nästa
steg att lära sig programmeringssyntaxen i VBScript. Börja med att lära dig hur
Variabler fungerar.
Lycka till!