Transcript ASP

request.asp
<HTML>
<HEAD>
<TITLE>Request</TITLE>
</HEAD>
<HTML>
<BODY>
<HEAD>
<FORM action="responsi.asp"
<TITLE>Response</TITLE>
method="post"> </HEAD>
<INPUT type="text"<BODY>
value="???"
name="nro">
<%
<INPUT type="submit"
>
Response.Write
"Kiitos tiedosta"
</FORM>
%>
</BODY>
</BODY>
</HTML>
</HTML>
response.asp
1.Asiakas-palvelinmalli
kuvana
DB
response.asp
<HTML>
<HEAD>
<TITLE>Response</TITLE>
</HEAD>
<BODY>
kiitos tiedosta
</BODY>
</HTML>
1
17.7.2015
vuorovaikutteiset www-sivut
2
 käyttäjän tai selaimen tunnistaminen
 käyttäjän toiveiden tunnistaminen
 tietokantahaut ja tietokantoihin kirjoittaminen
 asiakaspuolen – palvelinpuolen vuorovaikutteisuus
ASP 3.0
Active Server Pages
vuorovaikutteiset www-sivut
ASP on Microsoftin
palvelinpuolen
skriptausteknologia, jossa
HTML:n sekaan voidaan
kirjoittaa skriptejä
17.7.2015
vuorovaikutteiset www-sivut
3
Esimerkki.
staattinen ja dynaaminen www-sivu
<html>
<head>
<title>Html-sivu, Tervehdys</title>
</head>
<body>
<p>
Moi,
kello on 7:30:00
</p>
</body>
</html>
4
17.7.2015
<html>
<head>
<title>Asp-sivu, Tervehdys</title>
</head>
<body>
<p> Moi,
<%
Dim aika
aika=Time()
Response.Write(" kello on ”)
Response.Write(aika)
%>
</p>
</body>
</html>
vuorovaikutteiset www-sivut
Ehdotus (Tehtävä 1)
Teht1_0. Collection. Kerää tekemäsi tehtävät
kokoelmaksi. Tee index-sivusto kokoelman
"sisällysluettelo" hyperlinkkeineen ja
kommentteineen.
Teht1_1. Kysy-Vastaa. Kirjaa Edulinkin
keskusteluun ongelmia, joita aspia tehdessäsi
kohtaat (ja ratkaiset). Ratkaise myös muiden
ongelmia… (aktiivisuuspisteet)
8
17.7.2015
vuorovaikutteiset www-sivut
2.1 VBScriptin perusteet HTML-sivulla
1.
2.
3.
kirjoita staattinen html-koodi
lisää alkuun <% @ language=”vbscript" %>
koodaa <%...%> -tagin sisään TAI
<script language="vbscript" runat="server">…</script>
yksi käsky yhdelle riville (ei puolipistettä!)
kommentit ’ rivin loppuun
tallenna asp-tiedostomuodossa
testausympäristönä paikallinen IIS-palvelin
-> tallenna localhostiin C:\Inetpub\wwwroot\...
-> testaa selaimella http://localhost/...
tai Visual Studio tai käytä Dreamweaver-ympäristöä
8. tuotantoympäristönä esim. www.brinkster.com
4.
5.
6.
7.
9
17.7.2015
vuorovaikutteiset www-sivut
HTML-tulostusvirtaan kirjoittaminen
<% Response.Write("Hei”) %>
<% Response.Write "Hei” %>
<% =”Hei” %>
kolme vaihtoehtoa
kirjoittaa tulostusvirtaan
merkkijono Hei
<% Response.Write(hei)
’muuttuja %>
<% Response.Write Date()
’pvm-metodi%>
<% Response.Write "Kello on " & Time() ’konkatenointi%>
<% Response.Write Hour(Now)
’palvelimen tunti%>
10
Demo. Tee asp-sivu, joka
kirjoittaa ”Heippa”
17.7.2015
vuorovaikutteiset www-sivut
4
Muuttuja
<% Option Explicit
Dim muuttuja
muuttuja=5
Dim teksti
teksti=”tekstiä”
Dim aika
aika=#1.1.2011#
Dim mies
mies=false %>
vinkki: merkkijonomuuttuja muutetaan lukumuuttujaksi
”laskutoimituksella”:
a=a-0 (eli muuttujasta vähennetään nolla)
11
17.7.2015
vuorovaikutteiset www-sivut
Operaattorit
Aritmeettiset ja ketjutus
Vertailut ja loogiset
+
^
\
<=
=
<>
IS
And
Or
Not
Eqv
Xor
-*/
potenssiin
kokonaislukujen
jakolasku
MOD jakojäännös
&
konkatenointi
12
17.7.2015
pienempi tai yhtä suuri
yhtä suuri kuin
Eri suuri kuin
kahden olion vertailu
molemmat tosia
jompikumpi on tosi
kääntää (negaatio)
loogiset arvot samat
vain toinen tosi
vuorovaikutteiset www-sivut
TEHTÄVIÄ 2
Teht2_0. Muuttujan arvo
tee asp-sivu, joka kirjoittaa muuttujan arvon (vrt.ed.
”Heippa”-demoon)
Teht2_1. Konkatenointi
tee asp-sivu, joka kertoo ”Hei, muuttujan arvo on…”
Teht2_2. Ajankohta….
tee asp-sivu, joka kertoo päivän ja kellonajan
Teht2_3. Liian aikainen aamu…
jos kello ei ole vielä 8 ilmoita nukkuvasi
kokeile kello 10
Teht2_4. Satunnainen motto….
koodia lisätehtäviin
ks. muistiinpanosivut
tee sivu, joka kirjoittaa jonkun kolmesta mietelauseestasi
13
tallenna palvelimelle tiedostonnimi.asp ja testaa selaimella
http://localhost/tiedostonnimi.asp
17.7.2015
vuorovaikutteiset www-sivut
6
Taulukkomuuttuja
<%
Dim seta
seta=”Aku”
’tavallinen muuttuja
Dim veljenpojat(2)
’1-dim. taulukkomuuttuja
veljenpojat(0)="Tupu"
veljenpojat(1)="Hupu"
veljenpojat(2)="Lupu"
%>
14
17.7.2015
demo. testaa tiedosto aspdemo/taulu1.asp
vuorovaikutteiset www-sivut
Moniulotteinen
taulukkomuuttuja
15
0.
1.
2.
0. Tupu AnkkaAnkkalinna
1. Hupu AnkkaAnkkalinna
<%
Dim yhteystiedot(1,2) ’2-dim. taulukkomuuttuja
yhteystiedot(0,0)="Tupu"
yhteystiedot(0,1)="Ankka"
yhteystiedot(0,2)="Ankkalinna"
yhteystiedot(1,0)="Hupu"
yhteystiedot(1,1)="Ankka"
yhteystiedot(1,2)="Ankkalinna"
Response.Write(yhteystiedot(1,0))
%>
demo. testaa taulu2.asp
17.7.2015
vuorovaikutteiset www-sivut
TEHTÄVIÄ 5
Teht5_0. Taulukko
rakenna taulukon avulla sivusto (2 tiedostoa), jossa
lomakkeen (request) avulla asiakas voi valita
numeron ja palvelin vastaa (response)
kirjoittamalla numeroa vastaavan mietelauseen
taulukosta.
Teht5_1. Presidentit
tee Suomen presidenteistä taulukko, jossa on
kerrottu (järjestyksessä) heidän nimensä,
hallintoaikansa ja syntymävuotensa. Kun käyttäjä
antaa järjestysnumeron, saa hän kolmen
presidentin listan (edeltäjä, ko. presidentti ja
seuraaja)
17
17.7.2015
vuorovaikutteiset www-sivut
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) %>
20
17.7.2015
vuorovaikutteiset www-sivut
TEHTÄVIÄ 4
Teht4_0. Vahvistus
rakenna vuorovaikutteinen sivusto (2 tiedostoa),
jossa on lomake syöttökenttineen ja palvelin
vastaa kertomalla mitä syötit
Teht4_1. Vahvistus ja vastaus (if tai select case)
rakenna vuorovaikutteinen sivusto, jossa palvelin
vahvistaa pyynnön ja vastaa valinnan mukaisen
mietelauseen
Teht4_2. Termi. Mitä tarkoittaa
strTeksti=Request.Form("syotto")
21
17.7.2015
vuorovaikutteiset www-sivut
2.4 ASP kontrollirakenteet
If ...Then…ElseIf...Else...End if
Select Case
For Next
Do While, For Each...Next
Call, Function
17.7.2015
vuorovaikutteiset www-sivut
22
If
<%
If nimi="Hupu" then
Response.Write(”sininen lakki”)
ElseIf nimi="Tupu" then
Response.Write(”punainen lakki”)
ElseIf nimi="Lupu" then
Response.Write(”vihreä lakki”)
Else Response.Write(”ei lakkia?”)
End If
%>
23
17.7.2015
vuorovaikutteiset www-sivut
rivinvaihto
rivinvaihto
rivinvaihto
TEHTÄVIÄ 6. If
25
(tai Select Case)
Teht6_0. Fax. Tee vuorovaikutteinen sivusto,
joka kysyy käyttäjältä, haluaako
vahvistuksen sähköpostitse, faksilla vai
kirjeenä. (tekstikenttä-lomakkeella)
Teht6_1. Kyllä/Ei -testi. Tee kolmen
kysymyksen testi, joissa jokaisessa
kysymyksessä valitaan toinen
vaihtoehdoista. Laske pisteet yhteen.
Teht6_2. Vihjetesti. Tee kahden kysymyksen
visailu, jossa annetaan kumpaankin
kysymykseen 3 pisteen vihje, 2 pisteen vihje
ja 1 pisteen vihje. Laske pisteet yhteen.
17.7.2015
vuorovaikutteiset www-sivut
muistiinpanoissa ’For Each’- ja ’Do While’-luupit
For...Next
<%
Dim yhteystiedot(1,2)
Dim i
For i =0 to 2
yhteystiedot(1,i)="Ankka"
Next
%>
26
17.7.2015
vuorovaikutteiset www-sivut
TEHTÄVIÄ 7 (for-next)
Teht7_0. 10-taulukko. Alusta (anna alkioiden
arvoksi nolla) For...Next –toiminnolla 10
rivin kokonaislukutaulukko. Tulosta
taulukko näytölle.
Teht7_1. 10x5 -taulukko. Alusta (anna
alkioiden arvoksi nolla) For...Next –
toiminnolla 10x5 rivin
kokonaislukutaulukko. Tulosta taulukko
näytölle
Teht7_2. Toinen 10x5 -taulukko. Muuta yllä
olevaa lisätehtävää: alusta 1. rivin arvoiksi 0,
2. rivin arvoiksi 1, 3. rivin arvoiksi 2, jne.
27
17.7.2015
vuorovaikutteiset www-sivut
Call proseduuri
<%
'head -elementtiin
Sub Osoite()
Response.Write "Yhteystietomme ovat: "
Response.Write "Ankka, [email protected]"
End Sub
%>
..<!-bodyssa...- ->
<% Call Osoite() %>
28
demo. testaa, tallenna wwwroot\demo-kansioon call1.asp
17.7.2015
vuorovaikutteiset www-sivut
kotiläksy:
Call proseduuri parametrilla
<%’head-elementtiin
Sub Osoite(hlo) Select Case hlo
Case "Aku"
Response.Write(" [email protected] ”)
Case "Iines"
Response.Write("[email protected]”)
End Select
End Sub %>
<!-bodyssa...- ->
<% varHlo=”Iines” %>
<% Call Osoite(varHlo)%>
29
demo. testaa
tallenna wwwroot\demo-kansioon call0.asp ja call3.asp
17.7.2015
vuorovaikutteiset www-sivut
kotiläksy:
Funktio
<!- headissä-->
<% Function Alennus(hinta)
Alennus=0.20*hinta
End Function
%>
<!-bodyssa-->
<% kustannus=170
laskutettava=Alennus(kustannus)
%>
30
17.7.2015
ks. demoista function.asp
vuorovaikutteiset www-sivut
TEHTÄVIÄ 8
Teht8_0. Osoite. Tee sivusto (request ja response)
Call-proseduurilla. Sivuston perusteella käyttäjä saa
haluamansa Haaga Instituutin yksikön (Haaga,
Helsinki, Malmi, Vierumäki) yhteystiedot.
Teht8_1. Personoitu. Tiedustele käyttäjän sukupuoli ja
alle kouluikäisten lukumäärä. Tietojen perusteella
(aliohjelmien ja kontrollirakenteiden avulla)
palvelin generoi kolme erilaista tietoiskua. Tee siis
yksilöidyt sivut miehille, naisille ja pikkulasten
äideille. Lisätehtävä 8_2: Pikkulasten sivulla
ilmenee aiemmin kysytty lasten lukumäärä.
31
17.7.2015
vuorovaikutteiset www-sivut
7
3. Oliot, ominaisuudet,
metodit, tapahtumat ja
kokoelmat kohteineen
17.7.2015
vuorovaikutteiset www-sivut
32
Olio-termejä
 ominaisuudet (jäsenmuuttuja, attribuutti, kentät)
 metodit (vrt. funktiot)
 tapahtumat (vrt. tietovarastot)
 kokoelmat (vrt. taulut)
 toimintokokonaisuus on oliomalli
syntaksi esim.
olio.kokoelma(”kohde”)
tai olio.metodi(parametri)
Huom.
Olion nimen voi usein jättää pois, Server.Execute vs.
Execute
Olion kohde voidaan monesti erottaa joko suluilla tai välilyönnillä,
Response.Write(”Hei”) vs. Response.Write ”Hei”
33
17.7.2015
vuorovaikutteiset www-sivut
Oliomallirakenne
build-in-objects
Request
Response
Server
Session
Application
AsError
ObjectContext
34
17.7.2015
Server
Application
Session
Request
Response
vuorovaikutteiset www-sivut
3.1 Request -kokoelma
QueryString(”kohde”) ( get-metodi)
Form(”kohde”) (post-metodi)
ServerVariables(”kohde”)
ClientCertificate(”kohde”)
Cookies(”kohde”)
35
17.7.2015
h:\opha\tiina.koskelainen\...\aspdemot\
servervariables0:asp,
servervariables.asp,
vuorovaikutteiset www-sivut
...QueryString:
URL-osoitteessa?name1=value1&name2=value2
kolme erilaista generointitapaa pyyntötiedostossa
–lomakkeen kentässä
<form method="get” action=”vastaus.asp” name=”lomake” id=”lomake”>
<input name=”username” …>
<input name=”password” …>
–kirjoittamalla selaimen osoite-kenttään
http://www.haaga.fi/vastaus.asp? username=mina&password=****
–linkkiin sisällytetty
<a href=”vastaus.asp?username=mina&password=****"> Kirjaudu</a>
lähetetyn tiedon sijoittaminen muuttujiin vastaustiedostossa
uName= Request.QueryString("username")
pWord= Request.QueryString(”password")
36
17.7.2015
vuorovaikutteiset www-sivut
…..Esim. Post-metodi
responsiPost.asp
requestiPost.asp
<html>
<html>
<head>
<head>
<title>POST-metodilla pyyntö</title>
<title>POST-metodilla vastaus</title>
</head>
</head>
<body>
<body>
<form action="responsiPost.asp" method="post">
<%
<input type="text" name="username” id=”username” />
Dim uName
<input type="submit" value="lähetä" />
uName=Request.Form("username")
</form>
Response.Write uName
</body>
%>
</html>
</body>
</html>
37
17.7.2015
Demo. post_requesti.asp ja post_responsi.asp
Testaa
vuorovaikutteiset www-sivut
…..Esim. Get-metodi
<html>
<html>
<head>
<head>
<title>GET-metodilla pyyntö</title>
<title>GET-metodilla vastaus</title>
</head>
</head>
<body>
<body>
<form action="responsiGet.asp" method="get">
<%
<input type="text" name="username” id=”username” />
Dim uName
<input type="submit" value="lähetä" />
uName=Request.QueryString("username")
</form>
Response.Write uName
</body>
%>
</html>
</body>
</html>
38
17.7.2015
Demo. get_requesti.asp ja get_responsi.asp
Testaa
vuorovaikutteiset www-sivut
TEHTÄVIÄ 9
Teht9_0. Get-tervetuloa. Rakenna GET metodilla tervetuloasivu(sto): kun käyttäjä
lähettää etunimensä ja sukunimensä, saa
hän nimellään varustetun
tervetulotoivotuksen
Teht9_1. Anonyymi-tervetuloa. Rakenna GET metodilla tervetulo(sto): käyttäjällä on
mahdollisuus valita vierailija –linkki, jolloin
hän saa tervetulotoivotuksen anonyymille.
Lähettämällä nimensä, hän saa nimellään
varustetun tervetulotoivotuksen.
39
17.7.2015
vuorovaikutteiset www-sivut
3.2 Response -olio...
palvelin lähettää infoa asiakkaalle
infon julkistamisajankohdan kontrollointi
toisen sivun hakeminen/integrointi
(selaimen hallinta)
evästeen "ohjeistus"
40
17.7.2015
vuorovaikutteiset www-sivut
...Response.Write
<% Response.Write("Kello on nyt...”)
Response.Write(Now())
Response.Write("<br/>”) %>
tai
Kello on nyt...
<% Response.Write Now() %>
<br/>
tai
Kello on nyt...<% =Now() %> <br/>
41
17.7.2015
vuorovaikutteiset www-sivut
3.3 Server-oliosta
olio muulle sekalaiselle
ActiveX, funktiot,…
myös itse rakennettuja komponentteja
otetaan käyttöön
sivulle siirtymistä jne.
42
17.7.2015
vuorovaikutteiset www-sivut
...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
43
17.7.2015
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
vuorovaikutteiset www-sivut
TEHTÄVIÄ 10
Teht10_0. Ohjaus. Tee sivusto (3-4 sivua),
jossa (ASP-tekniikkaa hyväksikäyttäen)
asiakas ohjautuu (Redirect tai Transfer)
talous- tai yhteiskuntasivulle, sen mukaan
onko hänen ilmoittamansa vuositulot yli/alle
50000 euroa.
Teht10_1. Rakenna talous- ja yhteiskunta
sivuilla näkyvä yhteinen navigointitiedosto
(käytä include- tai execute-toimintoa)
44
17.7.2015
vuorovaikutteiset www-sivut
extra:
Sivujen voimassaoloaika
(Response ja Server -oliot)
<% Response.ExpiresAbsolute
=#1.1.2003# %>
päivä, johon asti sivu säilyy välimuistissa
<% Response.Expires =30 %>
minuutteja, kun sivu välimuistissa
<% Server.ScriptTimeout= 30 %>
max, aika sekuntia, skriptiä suoritetaan
45
17.7.2015
vuorovaikutteiset www-sivut
extra:
Olion luonti,
tekstitiedosto-olion avaaminen ja
lukeminen
<% ’luodaan olio o:
Set o=Server.CreateObject(”Scripting.FileSystemObject”)
’avataan olemassa oleva txt-tiedosto t-olioon:
Set t=0.OpenTextFile(”c:\teksti.text”)
’luetaan ensimmäinen rivi oliosta t html-virtaan:
Response.Write(t.ReadLine)
’suljetaan olio t:
t.Close()
%>
46
17.7.2015
vuorovaikutteiset www-sivut
…tekstitiedosto-olion avaaminen ja
siihen kirjoittaminen
extra:
<% ’luodaan olio:
Set m=Server.CreateObject(”Scripting.FileSystemObject”)
’avataan olemassa oleva txt-tiedosto t-olioon:
Set t=m.OpenTextFile(”c:\teksti.txt, 8, TRUE”)
’ kirjoitetaan uudelle riville:
s.WriteLine(”Heippa maailma”)
’suljetaan olio t:
t.Close()
%>
47
17.7.2015
vuorovaikutteiset www-sivut
9
4. Cookies, Sessions,
Applications
Eväste-, istunto- ja sovellus- oliot
17.7.2015
vuorovaikutteiset www-sivut
48
4.1 Evästeet - Cookies
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
 Kokoelman 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
49
max. 4kt (Netscape)
17.7.2015
vuorovaikutteiset www-sivut
… 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)
extra: Eväste voi olla myös kaksi ulotteinen
Response.Cookies(”eNimi”)(”1”)=”Iines”
Response.Cookies(”eNimi”)(”2”)=”Kristina”
b) evästeelle saadaan arvo lomakekentästä
Response.Cookies(”sNimi")=Request.Form(”kohde")
tai
evas=request.form(”kohde”)
Response.Cookies(”sNimi”)=evas
50
17.7.2015
vuorovaikutteiset www-sivut
… Evästeet, Cookies
voimassaoloaika
(tällöin sijoitetaan fyysisesti asiakaskoneeseen ?)
voimassa 31.12.2007 asti:
Response.Cookies(”sNimi").Expires=#31.12.2007#
voimassa 30 päivää:
Response.Cookies(”sNimi").Expires=date+30
tuhotaan eväste:
Response.Cookies(”sNimi").Expires=date-1
51
17.7.2015
vuorovaikutteiset www-sivut
… 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)
extra: Onko kaksiulotteinen eväste olemassa?
Request.Cookies(”eNimi").HasKeys
(TRUE/FALSE)
Demo. cookies_syottolomake.asp, cookies_syotto.asp, testaa
52
Demo. cookies_pois.asp, testaa
17.7.2015
vuorovaikutteiset www-sivut
TEHTÄVIÄ 11
11_0. 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ä.
11_1. Anna asiakkaalle mahdollisuus poistaa
olemassa oleva eväste.
11_2. Tee lomake, joka ensin tarkistaa, onko
käyttäjätunnukset luotu jo aiemmin ko.
koneella (tarkistaa onko evästeitä). Jos näin
on, ei pyydäkään kirjautumaan, vaan
toivottaa tervetulleeksi etunimellä.
53
17.7.2015
vuorovaikutteiset www-sivut
4.2 Session
Session -olio interaktiivisuuteen istunnon
aikana
– milloin istunto alkaa
– tallentaa istuntoa koskevaa tietoa
– milloin istunto loppuu
54
17.7.2015
vuorovaikutteiset www-sivut
...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.Remove (”nimi") %>
Tyhjentää istunnon kokoelman ”nimi” sisällön
55
17.7.2015
Demo. session.asp, testaa. abandon.asp
vuorovaikutteiset www-sivut
extra:
4.3 Application
useammalle käyttäjälle käytössä,
sovelluskohtaiset tiedot
onStart, kun palvelimen sivusto ensi kerran
kutsutaan
onEnd, kun palvelin kaadetaan
Esimerkki Työkalukauppa
ks. http://www.internetix.fi/atk-tuki/opinnot/asp/tapkas.htm
56
17.7.2015
vuorovaikutteiset www-sivut
...Application-olion termejä
Contens –kokoelma
Contents.Remove(muuttuja) –metodi
onStart -tapahtuma
57
17.7.2015
vuorovaikutteiset www-sivut
...Global.asa
tapahtumat
Application_OnStart
Application_OnEnd
Session_OnStart
Session _OnEnd
58
17.7.2015
vuorovaikutteiset www-sivut
TEHTÄVIÄ 12
Teht12_0. 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.
Teht12-1. Tee sivusto, jossa asiakas saa
antaa elämänohjeensa (vuoteen 2010) ja
tämän hetkisen (2 min.) tunnetilansa.
Teht12_2. extra: Application-olio. Kokeile
yhteisen hinnaston luomista Applicationoliolla ja session-oliolla kantaasiakasalennuksen (10%) myöntämistä.
59
17.7.2015
vuorovaikutteiset www-sivut