Quarta Lezione
Sommario:
- Gli Oggetti in Asp
- Oggetti interni Asp
- Response
- Request
- Application
- Session
- Server
Gli Oggetti in Asp
La tecnologia Asp ha uno dei suoi maggiori pilastri negli oggetti che sono delle sezioni indipendenti di codice
le quali eseguono un compito specifico (un po' come abbiamo detto per le funzioni e le
subroutine).
Vi sono oggetti interni (built-in) all'Asp, che non hanno bisogno cioè di
essere istanziati, ed oggetti esterni che devono essere creati dallo
sviluppatore.
Gli oggetti sono costituiti da elementi che li descrivono e dalle operazioni
che possono essere effettuate utilizzandoli.
Gli elementi sono denominati proprietà mentre le operazioni sono
chiamate metodi.
Esempio:
Nell'oggetto automobile sono proprietà il Colore, l'Anno di costruzione, il
Nome del costruttore ecc. mentre sono metodi Accelerare, Frenare, Accendere gli
anabbaglianti ecc.-
L'ultimo concetto relativo agli oggetti è quello di istanza:
l'automobile (in generale) è un oggetto, una "determinata" automobile è
un'istanza dell'oggetto automobile.
Per creare l'istanza di un oggetto si fa precedere la variabile con la
quale si denomina l'oggetto dall'istruzione Set
Esempio: Set ObjRecordset = Espressione Oggetto. Questo argomento
sarà sviluppato in seguito.
Oggetti interni Asp
Response
Già conosciamo questo oggetto grazie all'uso del suo metodo più
diffuso: Write.
L'oggetto Response è il più potente: permette di mandare in output nel browser
non solo del testo ma un po' tutto ciò che vogliamo.
Per ora ricordiamo
Response.Write, di cui abbiamo già parlato in precedenza;
Response.End che merita un
Esempio:
<%
If request.querystring ("password") <> "pippo" then
Response.End
%>
<Html>
<Body>
<p align="center"> Pagina Riservata
</Body>
</Html>
Anche se non
abbiamo studiato l'oggeto request, il surriportato listato Asp fa sì che, se è stata
passata una password diversa da pippo, viene bloccata la visualizzazione del
resto della pagina, viceversa viene visualizzato: "Pagina Riservata".
Response.Cookies
Il cookie è un
piccolo file di testo che viene creato sul computer dell'utente. E' costituito
da una chiave, che indica il nome del cookie, ed un valore che contiene
l'informazione memorizzata nel cookie.
Esempio:
<%
Response.Cookies("Entrata") = "Pippo"
Response.Cookies("Entrata") Expires=#Dec 31, 2004#
%>
Con questo script
abbiamo creato un piccolo file testo ("Pippo") nel compputer
dell'utente che scadrà il 31/12/2004. Più tardi vedremo come richiamare un
cookie e comprenderemo a che serve.
Response.redirect
Serve a
reindirizzare l'utente ad un'altra pagina. Facciamo un bell'esempio che potrete
comprendere per intero dal momento che contiene solo istruzioni già studiate
(tranne response.buffer che, per ora, al fine di non complicarvi
troppo la vita, vi diciamo solo che è bene sempre mettere all'inizio della
pagina in cui si trova un response.redirect): Esempio:
<% Response.Buffer=True %>
<Html>
<Body>
<%Dim bolPasswordControllo, strPasswordReale, strPasswordInserita
strPasswordReale = "Pippo"
strPasswordInserita = "Pippo"
bolPasswordControllo = (strPasswordInserita =
strPasswordReale)
If bolPasswordControllo then
Response.Redirect "PaginaRiservata.htm"
else
Response.Write "Password non
valida"
end if
%>
</Body>
<Html>
Ovviamente per
testare questo script dovrete creare nella stessa directory una pagina che
salverete con il nome di PaginaRiservata.htm.
Avrete già
compreso che, se le due variabili relative alla Password reale e a quella
inserita hanno lo stesso valore, allora la variabile booleana di controllo
assume il valore True e trasferisce (response.redirect) l'utente alla pagina
riservata, diversamente viene visualizzata la scritta: "Password non
valida". (Nota del Webmaster): Continua a piacervi il tutto? E il bello
deve ancora venire...!!
Request
Si può dire che,
in qualche maniera, l'oggetto request è il contrario dell'oggetto response.
Response dà appunto la risposta e request fa la domanda. Vedremo in seguito,
quando parleremo dei moduli, l'uso più frequente di request e cioè Request.Form
e Request.Querystring. Per ora daremo uno sguardo a:
Request.Cookies Esempio:
<%
If Request.Cookies <> then
Response.Redirect="login.asp"
%>
Dove, se il cookie non corrisponde a "Pippo" l'utente è reindirizzato alla
pagina login.
Application
Un'applicazione è una serie di pagine Asp memorizzate nella stessa directory (e nelle sue
sottodirectory) sul server Web. Si possono creare variabili per memorizzare
informazioni per l'applicazione. Application si riferisce a tutti gli utenti del
sito.
Esempio:
<%
Response.Write "Tu sei il visitatore numero "
numVisitatori = Application("visitatori")
Application("visitatori") = numVisitatori + 1
Response.Write(Application("visitatori")
Response.Write " da quando questo Web_
server è stato riavviato."
%>
E' facile comprendere come questo listato resituisca il numero di visitatori attuali nel
sito.
Session
Quando un utente
naviga in un sito, allo stesso potrebbe venire richiesto di immettere dati come
l'username o la password. Si possono creare variabili di sessione per
memorizzare queste informazioni e renderle disponibili per tutte le pagine del
sito senza bisogno di farle reimmettere ogni volta che occorrono. Per sessione
si intende il periodo intercorrente dal momento in cui il visitatore richiede
una pagina Asp nel sito al momento in cui la sessione è abbandonata (o è
decorso un certo periodo di tempo che, per default, è di venti minuti).
Esempio:
<%
Session("Username") = Request.Form("Username")
%>
Anche se non abbiamo studiato request.form, nel listato precedente abbiamo
immesso nella variabile Session("Username") il valore dell'username che l'utente
ha
precedentemente inserito in un modulo. Possiamo richiamare in ogni pagina del
sito questa variabile servendoci dell'oggetto response.session(): in questo caso
Response.Session(";Username").
Server
L'oggetto Server si usa per la memorizzazione di indirizzi Web o di percorsi
di files.
Esempio:
<%
Response.Write (Server.URLEncode("http://www.ilSito.it?nome=Pippo&eta=40"))
%>
Questo listato
restituisce l'esatto indirizzo indicato senza possibilità degli errori
che si possono verificare in un altro tipo di trasmissione di URL (comprenderete
meglio il concetto tra qualche lezione).
Se vi sono problemi su questa o su successive lezioni, comunicatecelo nel
forum oppure scriveteci.
Stampa questa pagina
|