Active Server Pages intro - del 1
Förord
ASP står då alltså för Active Server Pages och är väldigt effektivt när man vill göra sina sidor mer levande. ASP kan användas till mycket, t.ex. shopping-system och det är en utmärkt lösning för att visa information från databaser på Internet. Kursen kommer att börja från början, ta upp de sex olika objekten i ASP, och sedan fortsätta med enkla men kraftfulla exempel om hur du använder det hela. Kursen är uppdelad i två delar, i den första delen lär vi oss använda de enkla objekten och sedan i del två, lär vi oss databashantering, hur man sparar, tar bort poster, med mera, från databaser. Den kommer även till att innehålla ett litet exempel på en enkel webbshop. För att kunna köra sina ASP-sidor måste man ha antingen Windows NT/2000 eller ha laddat ner PWS(personal Web Server)till Windows 95/98(Det kan finnas på win98-installationsskiva, annars finns det tillgängligt på microsoft.com). Jag kommer inte till att nämna det mer i kursen, det finns mycket att läsa om PWS och IIS, och all information kan man hitta på Internet eller i handböcker.Innehåll
»»
»
»
»
»
»
»
»
»
»
ASP är som sagt uppbyggt av sex olika objekt, dessa är:
Man kan använda Request till att återvinna information från andra sidor. Då används syntaxen:
Syntax: Request.Querystring(”namn”)
Här är ett exempel. Om vi har en sida med en knapp och en textruta där man kan fylla i ett namn, och namnet sedan ska visas på nästa sida, efter att man tryckt på knappen, så använder man request på följande vis.
Här följer html-koden:
Spara filen nu som test1.html. Nu ska du skriva ASP-sidan. Ta fram nytt dokument och skriv in följande kod:
Spara filen som aspsida.asp.
Syntax: Request.ServerVariables(”namn_på_variabeln”)
Servervariabler kan användas till att se användares ip-nummer, vilken port och vilket protokoll som används. Nedan ser ni en liten lista över servervariabler(alla är inte inräknade, enbart de som jag ansåg vara viktigast).
Vill man alltså ta reda på vad det är för webbläsare som de flesta användare har, så skriver man bara:
Då får man reda på om det är t.ex. IE eller Netscape som används. Det var det viktigaste om Request, låt oss nu gå över till Response.
Med Response kan man skicka på ett mer kontrollerat sätt skicka information till användarens webbläsare. En bra sak med Response, är att man kan skriva hela sidan inom <%…%>-klamrarna. (även om jag inte rekommenderar det, det kan däremot vara bra, om man håller på att skriva mycket ASP-kod, och ska skriva en liten rad vanlig html, så kan man klämma in den med response).
Syntax: Response.Write "text"
Här ser ni då hur man lätt kan använda Response för att skriva html-kod. Man kan med hjälp av Response bli omskickad, så man kommer till en annan sida. Metoden heter ReDirect, och syntaxen är följande:
Detta kan användas då du till exempel har skaffat ny webbadress till dina sidor, så att användaren som brukar besöka din sida skickas till den nya adressen istället. Det kan även vara effektivt när man använder login med lösenord till sidorna. Om lösenordet är fel så skickas personen till en felmeddelande-sida, och om lösenordet är rätt, så kommer han till dina sidor.
I del 2 av kursen kommer det ett utmärkt exempel på Redirect.
Det finns en bra metod som gör att man lagrar allt som skickas till en användare, och detta är då med Response.Buffert. Man sätter Response.Buffert = true, så aktiveras denna metod. Om man vill använda detta, måste det finnas med i början av html-dokumentet.
När man sedan vill tömma bufferten används Response.flush, och om man vill radera det hela används Response.Clear.
När en användare inte är kopplad till ens sida längre, så kan det vara rätt bra att anslutningen avbryts, om till exempel personen har någon viktig information som bara han kan läsa med sitt login, så kan man kolla om han är kvar med följande:
Om personen inte är kopplad till sidan längre, kan man kolla det med detta exempel:
Alltså, detta exempel känner efter om personen är fortfarande kopplad eller inte, om han inte är det, avslutas anslutningen, annars fortsätter den vara kopplad.
Objektet Server rör enbart webbservern och den största användning man har av Server är när man importerar externa objekt, som t.ex. Active X-kontroller.
Syntax: SET namn = Server.CreateObject(”Class ID”)
Alla dll-filer har en sorts Clas ID, och de finns alla lagrade i registret. Ett bra exempel är när man ska koppla ihop sidan med databaser, då använder man ADODB.Connection.
När man har använt ovanstående kod, så blir det som om ADODB.Connection tillhörde ett av ASP-objekten, man kan använda alla dess metoder.
Session kan användas till att lagra information som är kopplad till en användare i 20 minuter. Detta kan vara ett utmärkt förslag till en webbshop där personen kan samla på sig och handla olika saker och sedan gå till ”webbkassan” och betala för sig. Om han inte är klar inom tjugo minuter, så kopplas han ifrån(Bra om personen kanske lämnat sidan).
Syntax: Session(”Variabelnamn”) = värde
Här följer ett enkelt exempel. Om man har en sida där man ska fylla i sitt namn, och information om sig själv, så kan man använda Session på ett enkelt sätt. Om man fyller i allting på första sidan, så visas det upp på den andra. Testa följande exempel.
Spara sidan som Session.asp
Här kommer session1.asp
Glöm inte spara den!
Application är väldigt likt Session, den stora skillnaden är det att application inte är bundet till en användare, utan det gäller alla som kommer in på sidan. All information som används med Application lagras på servern.
Objektet Server rör enbart webbservern och den största användning man har av Server är när man importerar externa objekt, som t.ex. Active X-kontroller.
Syntax: SET namn = Server.CreateObject(”Class ID”)
Alla dll-filer har en sorts Clas ID, och de finns alla lagrade i registret. Ett bra exempel är när man ska koppla ihop sidan med databaser, då använder man ADODB.Connection.
När man har använt ovanstående kod, så blir det som om ADODB.Connection tillhörde ett av ASP-objekten, man kan använda alla dess metoder.
Session kan användas till att lagra information som är kopplad till en användare i 20 minuter. Detta kan vara ett utmärkt förslag till en webbshop där personen kan samla på sig och handla olika saker och sedan gå till ”webbkassan” och betala för sig. Om han inte är klar inom tjugo minuter, så kopplas han ifrån(Bra om personen kanske lämnat sidan).
Syntax: Session(”Variabelnamn”) = värde
Här följer ett enkelt exempel.
Om man har en sida där man ska fylla i sitt namn, och information om sig själv, så kan man använda Session på ett enkelt sätt. Om man fyller i allting på första sidan, så visas det upp på den andra. Testa följande exempel.
Spara sidan som Session.asp
Här kommer session1.asp
Glöm inte spara den!
Application är väldigt likt Session, den stora skillnaden är det att application inte är bundet till en användare, utan det gäller alla som kommer in på sidan. All information som används med Application lagras på servern.
Syntax: Application(”Variabelnamn”) = värde
För att sedan kunna använda informationen som är lagrad, används följande syntax:
Syntax: Application(”Variabelnamn”)
Innan man börjar använda Application är det viktigt att man låser det hela. Det vill säga, innan du låter någon lagra information, så måste man för att minska risken för att något gå fel, stänga av det hela. Och det görs med Application.Lock. För att låsa upp Application använder vi Application.Unlock.
Application kan vara farligt att använda om informationen som sparas är viktig. Servern kan krascha, och då försvinner all den information som är sparad.
Syntax: Objectcontext.Metod
Jag kommer här i den första delen att ta upp väldigt lite om Objectcontext, det kommer desto mer i del 2. I Objectcontext finns det två olika funktioner. De är:
SetAbort: Ser att transaktionen som satts igång av ASP-skriptet inte fungerar, och därför avbryter det hela.
SetComplete: Skriptet godkänner transaktioner och förlitar sig sedan på att de andra komponenterna godkänner det hela
Det kan vara bra om en person har glömt fylla i sitt personnummer på en sida där det behövs, så kan överföringen avbrytas. Har han däremot fyllt i personnumret, så skickas han vidare till nästa sida. Detta är slutet av del 1. Om du tyckte att kursen var bra, läs då vidare på del två, som då går djupare in på de olika objekten, och inriktar sig mer på databashantering.
Maila till michael@ms-networks.com
Application | Används för att dela information mellan användare |
Request | Sköter all kommunikation från en användare |
Response | Sköter all kommunikation till en användare |
Server | Används för att köra/importera externa objekt som inte finns med i ASP |
Session | Används till att lagra temporär information till enskilda användare |
ObjectContext | Används för att sköta transaktioner via Component Services(även Microsoft Transaction Server från IIS 4.0) |
Request
Man kan använda Request till att återvinna information från andra sidor. Då används syntaxen: Syntax: Request.Querystring(”namn”)
Här är ett exempel. Om vi har en sida med en knapp och en textruta där man kan fylla i ett namn, och namnet sedan ska visas på nästa sida, efter att man tryckt på knappen, så använder man request på följande vis.
Här följer html-koden:
Test
Namn-Test
Spara filen nu som test1.html. Nu ska du skriva ASP-sidan. Ta fram nytt dokument och skriv in följande kod:
Se ditt namn
Hejsan <%=Request.Form(”Namn”)%>
// När man använder metoden Post, så skriver man istället Request.Form, istället för Request.Querystring som används vid Get-metoden.
Spara filen som aspsida.asp.
Servervariabler
Syntax: Request.ServerVariables(”namn_på_variabeln”)
Servervariabler kan användas till att se användares ip-nummer, vilken port och vilket protokoll som används. Nedan ser ni en liten lista över servervariabler(alla är inte inräknade, enbart de som jag ansåg vara viktigast).
SERVER_NAME | Domännamn på egen server |
SERVER_SOFTWARE | Namn på webbläsaren |
SERVER_PROTOCOL | Version på http-protokoll |
SERVER_PORT | Portnummer som servern använder |
REQUEST_METHOD | Om POST eller GET används |
PATH_TRANSLATED | ASP-sidans absoluta adress |
REMOTE_HOST | Användarens webbserver |
REMOTE_ADDR | Användarens IP-nummer |
CONTENT_LENGTH | Antal byte som skickats med POST |
http_USER_AGENT | Vilken webb-läsare som användaren använder |
Vill man alltså ta reda på vad det är för webbläsare som de flesta användare har, så skriver man bara:
<%=REQUEST.SERVERVARIABLES(’http_user_agent)%>
Då får man reda på om det är t.ex. IE eller Netscape som används. Det var det viktigaste om Request, låt oss nu gå över till Response.
Response
Med Response kan man skicka på ett mer kontrollerat sätt skicka information till användarens webbläsare. En bra sak med Response, är att man kan skriva hela sidan inom <%…%>-klamrarna. (även om jag inte rekommenderar det, det kan däremot vara bra, om man håller på att skriva mycket ASP-kod, och ska skriva en liten rad vanlig html, så kan man klämma in den med response).Syntax: Response.Write "text"
<%Response.Write” Hejsan”/H1>”
Här ser ni då hur man lätt kan använda Response för att skriva html-kod. Man kan med hjälp av Response bli omskickad, så man kommer till en annan sida. Metoden heter ReDirect, och syntaxen är följande:
Response.Redirect ”sidan_som_du_vill_skicka_till.html”
Detta kan användas då du till exempel har skaffat ny webbadress till dina sidor, så att användaren som brukar besöka din sida skickas till den nya adressen istället. Det kan även vara effektivt när man använder login med lösenord till sidorna. Om lösenordet är fel så skickas personen till en felmeddelande-sida, och om lösenordet är rätt, så kommer han till dina sidor.
I del 2 av kursen kommer det ett utmärkt exempel på Redirect.
Det finns en bra metod som gör att man lagrar allt som skickas till en användare, och detta är då med Response.Buffert. Man sätter Response.Buffert = true, så aktiveras denna metod. Om man vill använda detta, måste det finnas med i början av html-dokumentet.
När man sedan vill tömma bufferten används Response.flush, och om man vill radera det hela används Response.Clear.
När en användare inte är kopplad till ens sida längre, så kan det vara rätt bra att anslutningen avbryts, om till exempel personen har någon viktig information som bara han kan läsa med sitt login, så kan man kolla om han är kvar med följande:
Response.IsClientConnected
Om personen inte är kopplad till sidan längre, kan man kolla det med detta exempel:
<% If NOT Response.IsClientConnected then
Response.End
End If
%>
Alltså, detta exempel känner efter om personen är fortfarande kopplad eller inte, om han inte är det, avslutas anslutningen, annars fortsätter den vara kopplad.
Server
Objektet Server rör enbart webbservern och den största användning man har av Server är när man importerar externa objekt, som t.ex. Active X-kontroller. Syntax: SET namn = Server.CreateObject(”Class ID”)
Alla dll-filer har en sorts Clas ID, och de finns alla lagrade i registret. Ett bra exempel är när man ska koppla ihop sidan med databaser, då använder man ADODB.Connection.
SET databas = Server.CreateObject(”ADODB.Connection”)
När man har använt ovanstående kod, så blir det som om ADODB.Connection tillhörde ett av ASP-objekten, man kan använda alla dess metoder.
Session
Session kan användas till att lagra information som är kopplad till en användare i 20 minuter. Detta kan vara ett utmärkt förslag till en webbshop där personen kan samla på sig och handla olika saker och sedan gå till ”webbkassan” och betala för sig. Om han inte är klar inom tjugo minuter, så kopplas han ifrån(Bra om personen kanske lämnat sidan).Syntax: Session(”Variabelnamn”) = värde
Här följer ett enkelt exempel. Om man har en sida där man ska fylla i sitt namn, och information om sig själv, så kan man använda Session på ett enkelt sätt. Om man fyller i allting på första sidan, så visas det upp på den andra. Testa följande exempel.
Välkommen. Var vänlig och följ i följande fält tack!
Spara sidan som Session.asp
Här kommer session1.asp
Detta har du skrivit om dig själv
Välkommen<%Session(”namn”)%>
Information om<%session(”namn”)%>
<%Session(”info”)%>
Glöm inte spara den!
Application
Application är väldigt likt Session, den stora skillnaden är det att application inte är bundet till en användare, utan det gäller alla som kommer in på sidan. All information som används med Application lagras på servern.
Server
Objektet Server rör enbart webbservern och den största användning man har av Server är när man importerar externa objekt, som t.ex. Active X-kontroller.Syntax: SET namn = Server.CreateObject(”Class ID”)
Alla dll-filer har en sorts Clas ID, och de finns alla lagrade i registret. Ett bra exempel är när man ska koppla ihop sidan med databaser, då använder man ADODB.Connection.
SET databas = Server.CreateObject(”ADODB.Connection”)
När man har använt ovanstående kod, så blir det som om ADODB.Connection tillhörde ett av ASP-objekten, man kan använda alla dess metoder.
Session
Session kan användas till att lagra information som är kopplad till en användare i 20 minuter. Detta kan vara ett utmärkt förslag till en webbshop där personen kan samla på sig och handla olika saker och sedan gå till ”webbkassan” och betala för sig. Om han inte är klar inom tjugo minuter, så kopplas han ifrån(Bra om personen kanske lämnat sidan). Syntax: Session(”Variabelnamn”) = värde
Här följer ett enkelt exempel.
Om man har en sida där man ska fylla i sitt namn, och information om sig själv, så kan man använda Session på ett enkelt sätt. Om man fyller i allting på första sidan, så visas det upp på den andra. Testa följande exempel.
Välkommen. Var vänlig och följ i följande fält tack!
Spara sidan som Session.asp
Här kommer session1.asp
Detta har du skrivit om dig själv
Välkommen<%Session(”namn”)%>
Information om<%session(”namn”)%>
<%
Session(”info”)
%>
Glöm inte spara den!
Application
Application är väldigt likt Session, den stora skillnaden är det att application inte är bundet till en användare, utan det gäller alla som kommer in på sidan. All information som används med Application lagras på servern. Syntax: Application(”Variabelnamn”) = värde
För att sedan kunna använda informationen som är lagrad, används följande syntax:
Syntax: Application(”Variabelnamn”)
Innan man börjar använda Application är det viktigt att man låser det hela. Det vill säga, innan du låter någon lagra information, så måste man för att minska risken för att något gå fel, stänga av det hela. Och det görs med Application.Lock. För att låsa upp Application använder vi Application.Unlock.
Application kan vara farligt att använda om informationen som sparas är viktig. Servern kan krascha, och då försvinner all den information som är sparad.
ObjectContext
Syntax: Objectcontext.MetodJag kommer här i den första delen att ta upp väldigt lite om Objectcontext, det kommer desto mer i del 2. I Objectcontext finns det två olika funktioner. De är:
SetAbort: Ser att transaktionen som satts igång av ASP-skriptet inte fungerar, och därför avbryter det hela.
SetComplete: Skriptet godkänner transaktioner och förlitar sig sedan på att de andra komponenterna godkänner det hela
Det kan vara bra om en person har glömt fylla i sitt personnummer på en sida där det behövs, så kan överföringen avbrytas. Har han däremot fyllt i personnumret, så skickas han vidare till nästa sida. Detta är slutet av del 1. Om du tyckte att kursen var bra, läs då vidare på del två, som då går djupare in på de olika objekten, och inriktar sig mer på databashantering.
Jonas Boman
Välkommen<%Session(”namn”)%>
Information om<%session(”namn”)%>
<% Session(”info”) %> det skall vara <%=session("namn”)%>, annars skrivs ju inte sessionvärdet ut, vilket jag antar är tänkt...