Esittelyt ja alustukset -elementtiin html-sekaan tulevat <%...%> -koodilla -elementtiin Demo. Heippa.asp Dynaaminen Internet T2HA53"> Esittelyt ja alustukset -elementtiin html-sekaan tulevat <%...%> -koodilla -elementtiin Demo. Heippa.asp Dynaaminen Internet T2HA53">

Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

ASP 3.0 Active Server Pages

Samankaltaiset esitykset


Esitys aiheesta: "ASP 3.0 Active Server Pages"— Esityksen transkriptio:

1 ASP 3.0 Active Server Pages
2 ASP 3.0 Active Server Pages Microsoft palvelinpuolen www-ohjelmointitekniikka, jossa HTML:n sekaan voidaan kirjoittaa skriptejä Dynaaminen Internet T2HA53

2 Esimerkki. staattinen ja dynaaminen www-sivu
Tallennetaan palvelimeen C:\Inetpub\ Pyydetään selaimella URL heippa.html heippa.asp <html> <head> <title> xxxx</title> </head> <body> Heippa </body> </html> <html> <head> <title>xxxx</title> </head> <body> <% Response.Write("Heippa ")%> </body> </html> Esittelyt ja alustukset <HEAD> -elementtiin html-sekaan tulevat <%...%> -koodilla <BODY>-elementtiin Demo. Heippa.asp Dynaaminen Internet T2HA53

3 Lomakepyyntö ja ASP-vastaus
lomake on request (pyyntö) pyynto.asp esim. <form action=”vastaus.asp” method=”post”> <input type=”text” name=”kohde” id=”kohde” /> <input type=”submit” name=”go” /> </form> vastaus.asp-tiedostossa on response (vastaus) esim. <% muuttuja=Request.Form(”kohde") Response.Write(muuttuja) %> Request.Form Object.Collection <html> <head> <title>Request -pyyntölomake</title> </head> <body> Tähän tulee html-tekstiä<br/> <form action="responsi.asp" method="post"> <input type="text" value="???" name="syotto”/> <select size=3 name="yksikko" multible=”multible”/> <option>Malmi</option> <option>Helsinki</option> <option>Haaga</option> <INPUT type="submit" value="lähetä" name=”lahetys” id=”lahetys” /> <INPUT type="reset" value="tyhjennä" name=”tyhjennys” id=”tyhjennys” /> </form> </body> </html> responsi.asp <title>Palvelimen vastaus</title> <% Dim strTeksti strTeksti=Request.Form("syotto") Response.Write "Kirjoitit tekstikenttään <i>" Response.Write strTeksti Response.Write "</i> " %> Dynaaminen Internet T2HA53

4 Dynaaminen Internet T2HA53
…..Esim. pyyntö-vastaus requesti2.asp responsi2.asp <html> <body> <form name="lomake" id="lomake" action="responsi2.asp" method="post"> <input name="etu" type="text" > <input name="go" type="submit" > </form> </body> </html> <html> <body> <% dim juttu juttu=Request.Form("etu") Response.Write("Kiitos. ") Response.Write(juttu) %> </body> </html> Demo. /asp3/requesti2.asp Dynaaminen Internet T2HA53

5 Dynaaminen Internet T2HA53
TEHTÄVÄ. Vahvistus Rakenna vuorovaikutteinen sivusto (2 tiedostoa), jossa on lomake syöttökenttineen (nimi ja ikä) ja palvelin vastaa kertomalla mitä syötit. Extra demo. requesti_responsi.asp Lisätehtäviin ks. edellisten tehtävien muistiinpanosivuja Dynaaminen Internet T2HA53

6 Dynaaminen Internet T2HA53
Evästeet - Cookies Evästekokoelman avulla pystytään tunnistamaan kone, joka on jo aiemmin käynyt sivustossa (palvelimella…) Evästeisiin voidaan tallentaa (pitemmäksi aikaa) tietoa asiakaskoneen aiemmin tekemistä valinnoista Evästeet tallentuvat tekstitiedostona asiakkaan koneelle -> Evästeet -kokoelma mahdollistaa asiakaskoneen personoinnin Cookies eli suomeksi eväste on asiakaskone- ja palvelinsivustokohtainen. Cookies säilyy myös istuntojen välillä. Aikakatkaisu on esimerkiksi vuorokaudesta kuukauteen, muista julkinen tietokone! max. 4kt (Netscape) Dynaaminen Internet T2HA53

7 Dynaaminen Internet T2HA53
… Cookies syntaksi Eväste asennetaan ennen ensimmäistä <html>-tagia Tiedostossa vastaus.asp sijoitetaan eväste asiakkaan koneeseen a) eväste voidaan antaa koodissa suoraan Response.Cookies(”sNimi”)=”Ankka” (yksiulotteinen eväste) b) evästeelle saadaan arvo lomakekentästä Response.Cookies(”sNimi")=Request.Form(”kohde") ASP Cookies A cookie is often used to identify a user. A cookie is a small file that the server embeds on the user's computer. Each time the same computer requests for a page with a browser, it will send the cookie too. The Response.Cookies command is used to create cookies: Note: The Response.Cookies command must appear BEFORE the tag! The "Request.Cookies" command is used to retrieve a cookie value. Yhteys palvelimen ja asiakkaan välillä on stateless, http-protokolla on asiakasvetoinen, ei ole minkäänlaista muistia palvelimen ja asiakkaan välillä. anonyymi. Etsi koneen evästeitä esimerkiksi kansiosta C:\Documents and Settings\....\Cookies esimerkki kolmiavaimisesta evästeestä nimeltään ”mieli” Response.Cookies("mieli")(”joukkue")="Espa" Response.Cookies("mieli")("mauste")="neilikka" Response.Cookies("mieli")("auto")="VW" <! tiedosto requesti.asp alkaa > <HTML> <HEAD> <TITLE>Cookies -requesti</TITLE> </HEAD> <BODY> Haluatko keksejä? <FORM action="responsi.asp" method="post"> <INPUT type="radio" value="joo2" name="valinta" > haluan kaksi keksiä <INPUT type="radio" value="joo1" name="valinta" checked> haluan yhden keksin <INPUT type="radio" value="ei" name="valinta">en halua keksejä <INPUT type="submit" value="lähetä" > <INPUT type="reset" value="tyhjennä" > </FORM> </BODY> </HTML> <! tiedosto loppuu > <! tiedosto responsi.asp alkaa > <% Select Case Request.Form("valinta") Case "joo2" Response.Cookies("evaste")("eka")="Marie" Response.Cookies("evaste")("toka")="Domino" Case "joo1" Case "ei" Response.Cookies("evaste").Expires=date-1 Response.Write "Tuhotaan vanhat keksit... " End Select %> <TITLE>Evästeiden istutus</TITLE> Kiitokset ajastanne ja mielenkiinnostanne keksejämme kohtaan. <! testiä varten..... <%Dim strEvaste1, strEvaste2 strEvaste1=Request.Cookies("evaste")("eka") strEvaste2=Request.Cookies("evaste")("toka") Response.Write strEvaste1&" " &strEvaste2 %> > ***************************************************** Toinen esimerkki Evästeen anto <! lomake -tiedosto alkaa > <TITLE></TITLE> <form name="lomake" method="post" action="ASPcookies1.asp"> <P>Minkä evästeen haluat antaa?</P> <P><INPUT id=text1 name=syotto><INPUT id=submit1 type=submit value=Submit name=submit1></P> </form> Seuraava asp-tiedosto asettaa evästeen yhdeksi vuorokaudeksi <! ASPcookies1.asp -tiedosto alkaa > Language=VBScript %> <% Response.Cookies("evaste").Expires=date+1 Response.Cookies("evaste")("avain1")=Request.Form("syotto") ///////tässä kerrotaan mitä tuli evästettyä dim evas1 evas1=Request.Cookies(”evaste")(”avain1”) Response.Write "Kirjoitit ” & evas1 <P> </P> Seuraava asp-tiedoto tarkistaa onko evästettä ja jos on niin ilmoittaa olemassa olevan, muuten asettaa evästeen yhdeksi vuorokaudeksi If response.Cookies("evaste").HasKeys then dim evas0 evas0=Request.Cookies("evaste")("avain1") Response.Write "Olet tuttu: " Response.Write evas0 else evas1=Request.Form("syotto") Response.Write "Kirjoitit "&evas1 End if Seuraava tiedosto poistaa evästeen <! evasttiedosto alkaa > <% Response.Cookies("evaste").Expires=date-1 Response.Write "Eväste poistettiin"%> Dynaaminen Internet T2HA53

8 Dynaaminen Internet T2HA53
… Evästeet (Cookies) voimassaoloaika (tällöin sijoitetaan fyysisesti asiakaskoneeseen esim. kohtaan C:\Documents and Settings\...\Cookies) voimassa 30 päivää: Response.Cookies(”sNimi").Expires=date()+30 tuhotaan eväste: Response.Cookies(”sNimi").Expires=date()-1 voimassaolo voi olla myös palvelimen tuntema päiväys "June 10, 2002" <! tiedosto requesti.asp alkaa > <HTML> <HEAD> <TITLE>Cookies -requesti</TITLE> </HEAD> <BODY> Haluatko keksejä? <FORM action="responsi.asp" method="post"> <INPUT type="radio" value="joo2" name="valinta" > haluan kaksi keksiä <INPUT type="radio" value="joo1" name="valinta" checked> haluan yhden keksin <INPUT type="radio" value="ei" name="valinta">en halua keksejä <INPUT type="submit" value="lähetä" > <INPUT type="reset" value="tyhjennä" > </FORM> </BODY> </HTML> <! tiedosto loppuu > <! tiedosto responsi.asp alkaa > <% Select Case Request.Form("valinta") Case "joo2" Response.Cookies("evaste")("eka")="Marie" Response.Cookies("evaste")("toka")="Domino" Case "joo1" Case "ei" Response.Cookies("evaste").Expires=date-1 Response.Write "Tuhotaan vanhat keksit... " End Select %> <TITLE>Evästeiden istutus</TITLE> Kiitokset ajastanne ja mielenkiinnostanne keksejämme kohtaan. <! testiä varten..... <%Dim strEvaste1, strEvaste2 strEvaste1=Request.Cookies("evaste")("eka") strEvaste2=Request.Cookies("evaste")("toka") Response.Write strEvaste1&" " &strEvaste2 %> > ***************************************************** UUTUUS: Toinen esimerkki Evästeen anto <! lomake -tiedosto alkaa > <TITLE></TITLE> <form name="lomake" method="post" action="ASPcookies1.asp"> <P>Minkä evästeen haluat antaa?</P> <P><INPUT id=text1 name=syotto><INPUT id=submit1 type=submit value=Submit name=submit1></P> </form> Seuraava asp-tiedosto asettaa evästeen yhdeksi vuorokaudeksi <! ASPcookies1.asp -tiedosto alkaa > Language=VBScript %> <% Response.Cookies("evaste").Expires=date+1 Response.Cookies("evaste")("avain1")=Request.Form("syotto") ///////tässä kerrotaan mitä tuli evästettyä dim evas1 evas1=Request.Cookies(”evaste")(”avain1”) Response.Write "Kirjoitit ” & evas1 <P> </P> Seuraava asp-tiedoto tarkistaa onko evästettä ja jos on niin ilmoittaa olemassa olevan, muuten asettaa evästeen yhdeksi vuorokaudeksi If response.Cookies("evaste").HasKeys then dim evas0 evas0=Request.Cookies("evaste")("avain1") Response.Write "Olet tuttu: " Response.Write evas0 else evas1=Request.Form("syotto") Response.Write "Kirjoitit "&evas1 End if Seuraava tiedosto poistaa evästeen <! evasttiedosto alkaa > <% Response.Cookies("evaste").Expires=date-1 Response.Write "Eväste poistettiin"%> Dynaaminen Internet T2HA53

9 … Evästeet (Cookies) olemassa olevan evästeen käsittely
Muuttujaan sijoitetaan olemassa oleva eväste ja se kirjoitetaan HTML -tulostusvirtaan evaste=Request.Cookies(”sNimi”) Response.Write(evaste) voimassaolo voi olla myös palvelimen tuntema päiväys "June 10, 2002" <! tiedosto requesti.asp alkaa > <HTML> <HEAD> <TITLE>Cookies -requesti</TITLE> </HEAD> <BODY> Haluatko keksejä? <FORM action="responsi.asp" method="post"> <INPUT type="radio" value="joo2" name="valinta" > haluan kaksi keksiä <INPUT type="radio" value="joo1" name="valinta" checked> haluan yhden keksin <INPUT type="radio" value="ei" name="valinta">en halua keksejä <INPUT type="submit" value="lähetä" > <INPUT type="reset" value="tyhjennä" > </FORM> </BODY> </HTML> <! tiedosto loppuu > <! tiedosto responsi.asp alkaa > <% Select Case Request.Form("valinta") Case "joo2" Response.Cookies("evaste")("eka")="Marie" Response.Cookies("evaste")("toka")="Domino" Case "joo1" Case "ei" Response.Cookies("evaste").Expires=date-1 Response.Write "Tuhotaan vanhat keksit... " End Select %> <TITLE>Evästeiden istutus</TITLE> Kiitokset ajastanne ja mielenkiinnostanne keksejämme kohtaan. <! testiä varten..... <%Dim strEvaste1, strEvaste2 strEvaste1=Request.Cookies("evaste")("eka") strEvaste2=Request.Cookies("evaste")("toka") Response.Write strEvaste1&" " &strEvaste2 %> > ***************************************************** UUTUUS: Toinen esimerkki Evästeen anto <! lomake -tiedosto alkaa > <TITLE></TITLE> <form name="lomake" method="post" action="ASPcookies1.asp"> <P>Minkä evästeen haluat antaa?</P> <P><INPUT id=text1 name=syotto><INPUT id=submit1 type=submit value=Submit name=submit1></P> </form> Seuraava asp-tiedosto asettaa evästeen yhdeksi vuorokaudeksi <! ASPcookies1.asp -tiedosto alkaa > Language=VBScript %> <% Response.Cookies("evaste").Expires=date+1 Response.Cookies("evaste")("avain1")=Request.Form("syotto") ///////tässä kerrotaan mitä tuli evästettyä dim evas1 evas1=Request.Cookies(”evaste")(”avain1”) Response.Write "Kirjoitit ” & evas1 <P> </P> Seuraava asp-tiedoto tarkistaa onko evästettä ja jos on niin ilmoittaa olemassa olevan, muuten asettaa evästeen yhdeksi vuorokaudeksi If response.Cookies("evaste").HasKeys then dim evas0 evas0=Request.Cookies("evaste")("avain1") Response.Write "Olet tuttu: " Response.Write evas0 else evas1=Request.Form("syotto") Response.Write "Kirjoitit "&evas1 End if Seuraava tiedosto poistaa evästeen <! evasttiedosto alkaa > <% Response.Cookies("evaste").Expires=date-1 Response.Write "Eväste poistettiin"%> Evästeet (joissa voimassaoloaika) löytyvät asiakkaan koneelta eri kohdista, esim: C:\Documents and Settings\...\Cookies ks. selaimelta Tools>Internet Options > Temporary Internet Files>Settings>View Files Demo. cookies_syottolomake.asp, cookies_syotto.asp Dynaaminen Internet T2HA53

10 Dynaaminen Internet T2HA53
TEHTÄVIÄ . Eväste 1.Rekisteröinti. Tee lomake, joka pyytää luomaan etunimen, käyttäjätunnuksen ja salasanan. Lisäksi se ilmoittaa, että nämä tallennetaan vastaisuuden (10 vrk) varalle. Tämän jälkeen palvelin kertoo mitä löytyy evästeinä. 2. Anna asiakkaalle mahdollisuus poistaa olemassa oleva eväste. . Dynaaminen Internet T2HA53

11 Dynaaminen Internet T2HA53
4.2 Session Session -olio interaktiivisuuteen istunnon aikana milloin istunto alkaa tallentaa istuntoa koskevaa tietoa milloin istunto lopetetaan Sessionit ovat korvaamassa cookiet, mutta käytännössä ilman cookieta ei voi olla sessioneita. Cookies on konekohtainen. Cookies myös istuntojen välillä. Jos sessionin aikakatkaisu on esimerkiksi 20 minuuttia, voisi se cookiella olla vuorokaudesta kuukauteen, muista julkinen tietokone! Dynaaminen Internet T2HA53

12 ...Session -olion termejä
istunnon aikaiset muuttujat (ominaisuuksia, metodeja ja kokoelmaa) <% tunnus=Session.SessionID %> palauttaa nyk. istunnon id-tunnuksen <% Session.Timeout=10 %> palauttaa/asettaa aikakatkaisun (10 minuuttia) <% Session.Abandon() %> tuhoaa session-olion <%Session.Contents(”nimi”)=”Tiina” %> Antaa istunnon kokoelman ”nimi” arvoksi ”Tiina” <% = Session.Contents("asiakasID") %> <% Session.Contents.Remove ("muuttuja") %> Session olion kokoelmaa (Collection) muuttujat ja taulukot, ei <OBJECT> elemetille! <%=Session.StaticObjects... <OBJECT>-elementin avulla varastoitu istuntotieto Session olion jäsenmuuttujia (ominaisuuksia) <% Session.CodePage %> kokonaisluku selaimen koodisivu (code page) on ANSI (eurooppalainen) <% Session.LCID %> kokonaisluku, maaasetukset (locate identifier), esim £ <% Session.SessionID %> long palvelimen antama (Sovellus-oliota kohden) yksilöllinen "laskuri" <% Session.Timeout %> kokonaisluku katkaisee istunnon (minuuttia), oletuksena 20 minuuttia Session olion Metodit (Method) <% Session.Contents.Remove ("muuttuja") %> tyhjentää Session.Contents("muuttujan") <% Session.Contents.RemoveAll() %> tyhjentää kaikki Session.Contents("muuttujat") <% Session.Abandon %> tuhoaa nykyisen Session- olion, kun asiakas päivittää sivun Session –olion tapahtumia (Event). Käytetään global.asa -tiedostossa <% Session.onStart %> alustaa istunnon <% Session.onEnd %> tyhjentää istunnon aikaiset muuttujat, kun istunto päättyy Demo. session.asp Dynaaminen Internet T2HA53

13 Dynaaminen Internet T2HA53
TEHTÄVIÄ. Session 1. Session. Tee istunnon aikainen sivu, joka antaa istunnolle ID:n. Istunnon aikakatkaisuksi laitat 5 minuuttia. Lisäksi käyttäjällä on mahdollisuus katkaista istunto. . Dynaaminen Internet T2HA53

14 ...Selaimen sivujen integrointia (Response ja Server -oliot)
<% Response.Redirect(”responsi2.asp”) %> -ohjaa uudelle sivulle <% Server.Transfer (”responsi2.asp”) %> -upottaa/ohjaa uudelle sivulle (vie mukanaan muuttujia) <% Server.Execute(”responsi2.asp”) %> -suorittaa käskyn upottaa toisen sivun alkuperäiseen mahdollistaa yhteiset aliohjelmat <!-- #include file="responsi2.asp" - -> -SSI eli Server Side Includes -komento Including Files You can insert the content of one ASP file into another ASP file before the server executes it, with the #include directive. The #include directive is used to create functions, headers, footers, or elements that will be reused on multiple pages Syntax: or Use the virtual keyword to indicate a path beginning with a virtual directory. If a file named "header.inc" resides in a virtual directory named /html, the following line would insert the contents of "header.inc": Use the file keyword to indicate a relative path. A relative path begins with the directory that contains the including file. If you have a file in the html directory, and the file "header.inc" resides in html\headers, the following line would insert "header.inc" in your file: Use the file keyword with the syntax (..\) to include a file from a higher-level directory. <% Response.Redirect =responsi2.asp %> ohjaa uudelle sivulle. HUOM bufferin tulee olla true. < Responsi1.asp > <% Response.Redirect "responsi2.asp" %> <HTML> <HEAD> <TITLE>Kontrolloi mihin mennään ja milloin </TITLE> </HEAD> <BODY> <% Response.Write "Responsi1.asp -tiedoston tekstiä!!" %> </BODY> </HTML> < tiedosto päättyy > < responsi2.asp > <% Response.Write "Tämä on responsi2.asp -tiedoston tekstiä" %> SSI-tekniikkaa ASP:ssa SSI eli Server Side Includes -komennollakin voi liittää palvelimella toisen tiedoston <!-- #include Polkutyyppi = Tiedostonimi --> Ennen sivun käsittelemistä ASP käy läpi koko tiedoston ja etsii liitettäviä (sisällytettäviä) tiedostoja ja sijoittaa tiedoston direktiivin #include paikalle. Hyvä keino yhtenäistää esimerkiksi yhteiset valikot Polkutyyppi voi olla jokin seuraavista: File;Tiedostonimi on suhteellinen polku kansiosta, jossa #flastmod-direktiivin sisältävä tiedosto sijaitsee, lähtien. Virtual; Tiedostonimi on täydellinen polku Web-palvelimesi näennäiskansiosta lähtien. esim. <!-- #include file = "navigointi.html" --> <!-- #include virtual = "/scripts/dbs/dbyhteys.asp" --> < teksti päättyy > demot: redirect.asp+heippa.asp, testi transfer.asp+heippa.asp, testi execute.asp+heippa.asp, testi include.asp+includealku.asp+includekeski.asp+includeloppu.asp, testi Dynaaminen Internet T2HA53

15 Dynaaminen Internet T2HA53
TEHTÄVIÄ Teht10_0. Ohjaus. Tee sivusto (3-4 sivua), jossa (ASP-tekniikkaa hyväksikäyttäen) asiakas ohjautuu (Redirect) talous- tai yhteiskuntasivulle, sen mukaan onko hänen ilmoittamansa vuositulot yli/alle euroa. Teht10_1. Rakenna talous- ja yhteiskunta sivuilla näkyvä yhteinen navigointitiedosto (käytä include-toimintoa) Dynaaminen Internet T2HA53


Lataa ppt "ASP 3.0 Active Server Pages"

Samankaltaiset esitykset


Iklan oleh Google