Active Server Pages
ASP, Active Server Pages, är en teknik utvecklad av Microsoft för att kunna baka in programkod (ASP-kod) i HTML-koden i webbsidor. ASP används för att skapa dynamiska webbsidor och webbapplikationer, exempelvis genom att läsa och skriva information till databaser. ASP-koden tolkas av webbservern som sedan levererar vanlig HTML-kod till webbläsaren, därav är ASP-koden inte synlig för användaren. ASP-kod kallas för "server-side script", till skillnad från "client-side script", som tolkas av användarens webbläsare (exempelvis JavaScript). De scriptspråk som vanligen används är VBScript och JScript.
Observera att ASP.NET som ingår i Microsofts .NET-koncept inte är en nyare variant av ASP, utan ett helt nytt koncept.
Det första skriptspråket som klarade av att hämta data på ett smart och dynamiskt sätt och att visa det på webbsidor det kom från Microsoft och heter så som det står ovan ASP (Active Server Pages). Det betyder att allt det dynamiska sker på servern (hämtning av data från databasen) och i det här fallet heter servern IIS (Internet Information Server) IIS finns inbyggd i exempelvis din XP Pro och i Vista på datorn du har hemma eller på jobbet.
Givetvis kom det då en massa gratis (Open Source) skriptspråk, där man inte behöver en Microsoftprodukt i botten för att kunna köra skript på servern (Apache). Några exempel är Perl, Pyton, TCL och PHP. Av dessa så blev den store vinnaren tillslut PHP, kanske inte för att det var det bästa utan för att det var relativt lätt att lära sig.
Där stod webben i många år och den stora fördelen för oss programmerare är ju att vi själva skriver all kod för det vi vill skall hända på sidorna utan att behöva ett mer avancerat program än anteckningar (notepad). För Microsoft blev detta en ganska dålig affär, att alla kunde göra dynamiska sidor utan att behöva någon speciell produkt från dem förutom kanske just IIS. Då tog man fram .NET- strategin med det klara syftet att man med hjälp av verktyg från Microsoft skulle göra utvecklingen av webbsidor ännu enklare och tjäna pengar på det. Med hjälp av ramverk (frameworks), som är en slags färdigskriven programkod som ligger dold i bakgrunden och som det krävs att besökaren på webbsidan har installerat på sin dator för att sidan skall visas på korrekt sätt så levererade man utvecklingsprogrammet Visual Studio.
Vi som var med redan på Visual Basic-tiden känner igen det här konceptet.
Det skall alltså föreställa ett program där man i princip bara ritar/klickar/drar och den dynamiska koden skrivs automatiskt för de vanligaste behoven man har på en dynamisk webbsida.
Misstaget Microsoft gjorde var att man satte priset för högt för att köpa Visual Studio, vilket medförde att den stora massan aldrig blev intresserad. Eftersom man redan med ASP eller PHP i princip gratis kan göra allt det som .NET kan. Varför skulle man då köpa Visual Studio?
Microsoft försöker idag förtvivlat rätta det misstaget genom att gratis dela ut Visual Studio till studenter på Universitet och Högskolor. Förhoppningen är ju givetvis att när dess studenter är färdiga och kommer ut i företagen så skall de kräva att de får jobba med Visual Studio.
Andra tekniker som används inom webbutveckling är PHP, Java Server Pages (JSP), Perl, CGI och SSI.
Programexempel
Skriv ut "Hello, World!":
<% ' Start på ASP-kod
Response.Write("Hello, World!")
' Slut på ASP-kod
%>
Exempel på anslutning till MySQL-databas:
<%
Dim objConnection
Dim objRecordset
Dim strSQL
'Skapa anslutningen
Set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.open "driver={MySQL ODBC 3.51 Driver};server=exemel.se;uid=USER_123;pwd=EXAMPLE_123;database=Example_db;"
'Skapa SQL
strSQL = "SELECT field FROM table"
'Skapa Recordset för att visa poster
Set objRecordset = objConnection.Execute(strSQL)
'Loopa igenom alla poster
Do Until objRecordset.EOF
Response.Write(objRecordset("field")) 'Skriver ut värdet i fältet field
objRecordset.MoveNext 'Går till nästa rad i databasen
Loop
'Stäng objekten
objRecordset.Close : Set objRecordet = Nothing
objConnection.Close : Set objConnection = Nothing
%>
Se även
Microsoft Internet Information Server