Stefano Schacherl
Pagine ASP
parte 1
Introduzione
2
Introduzione
ASP significa Active Server Pages.
Quindi Le ASP sono interpretate dal Server.
Il funzionamento è il seguente:
1) un browser richiede una pagina ASP al Server;
2) il Server recupera la pagina richiesta, interpreta il
codice html normalmente, ed elabora il codice ASP;
3) quando il Server termina l’elaborazione della pagina
ASP, restituisce l’intero contenuto al browser del
richiedente, che lo visualizza a video.
3
Introduzione
4
Introduzione
Prerequisiti:
• conoscenza dei meccanismi di HTML
• conoscenza della sintassi di base di JavaScript
• un po' di pratica con il settore del web-publishing
• un po’ di confidenza con le tecniche programmative
• un po' di pratica con un editor HTML (es. HomeSite).
5
Introduzione
Linguaggio di scripting solitamente utilizzato da
una pagina ASP è VBScript.
E‘ possibile scrivere pagine in ASP anche in
PerlScript o JScript, purché siano supportati dal
server che dovrà ospitare ed elaborare le pagine
realizzate.
Di norma oltre a VBScript è supportato anche
JScript, ossia la versione di JavaScript targata
Microsoft.
6
Introduzione
Perchè JavaScript?
• ha una sintassi C-like
• è il linguaggio di scripting più diffuso nell'ambito
delle tecnologie client-side
Per utilizzare JScript ogni pagina dovrà
contenere come prima riga di codice la seguente:
<%@ LANGUAGE = JScript %>
Per ulteriori informazioni su JavaScript
7
Introduzione
La questione del server
Le pagine ASP devono essere eseguite sul server.
Non tutti i server supportano ASP, anzi, solo una
minoranza lo fanno.
A supportare ASP sono quasi solo i server Microsoft,
come i server IIS in esecuzione su sistemi Windows NT.
Questo significa che è necessario trovarsi un server Web
in grado di supportare adeguatamente ASP.
8
Personal Web Server
Le pagine ASP hanno bisogno di essere elaborate da un
server. E‘ possibile però verificare la funzionalità delle
pagine in locale sulla propria macchina.
Da Windows 98 in poi è possibile installare un piccolo
server in grado di interpretare le pagine ASP.
Per Windows 98: Personal Web Server (PWS) – sul cd
cartella Add-ons, Pws, setup.exe.
Per Windows 2000, NT, ecc. esiste un server più evoluto
(IIS).
9
Personal Web Server
L‘installazione del PWS presenta poche difficoltà, ad
eccezione del fatto che MicroSoft non installa
automaticamente le pagine Asp e le "nasconde"; si dovrà
quindi eseguire un'installazione custom, scegliendo in
sequenza:
Personal Web Server
10
Personal Web Server
Documentazione
Pagine ASP
11
Personal Web Server
Al termine dell'installazione sarà disponibile una icona
Pubblica
con la quale si avvia (o si interrompe) il servizio del PWS
12
Personal Web Server
Nome locale
13
Personal Web Server
Documenti predefiniti
14
Personal Web Server
15
Personal Web Server
In definitiva:
• si crea una directory per contenere le pagine ASP
create;
• si attiva il pws e si pubblica la directory (con
impostazioni avanzate del pws) con il nome (alias)
desiderato (es.: "ProvaAsp");
• si apre il browser e si digita l‘indirizzo
http://localhost/ProvaAsp/nomefile.asp
Il browser dovrebbe visualizzare la pagina HTML fornita
dal server.
N.b.: invece di localhost è possibile utilizzare il nome
della propria macchina in rete.
16
HomeSite
E' possibile provare direttamente le pagine Asp con il
Browse di HomeSite, dopo averlo attivato per
l'esecuzione delle pagine Asp:
• dal menu: Options - Settings - Browse
• "Enable server mapping" - "Add"
• nel campo "Map from" si inserisce la directory dove
sono le pagien Asp
• nel campo "Map to" si inserisce l'alias (già pubblicato)
Per ulteriori informazioni su HomeSite
17
Esempio
Un esempio di pagina ASP:
<%@ LANGUAGE = JScript %>
<html>
<head>
<title>La mia prima pagina ASP</title>
</head>
<body>
Questa è una pagina asp!<br><br>
<%
var d = new Date();
var g = d.getDate() + "/" + (d.getMonth()+1) + "/"
+ d.getYear();
Response.Write("Per il server oggi è il " + g);
%>
</body>
</html>
18
I tag
Gli elementi di scripting per le pagine ASP vengono
racchiusi tra i due tag:
<% e %>
Oppure all'interno dei tag:
<script language="JScript" runat="server">
// corpo dello script
</script>
19
I tag
Differenze tra i due metodi
<% e %> - può essere meglio integrato con l'Html
- può essere usato un solo linguaggio
<script> - consente una migliore gestione delle variabili
- consente la realizzazione di funzioni
- consente la coesistenza di più linguaggi
20
Esempio
Un altro esempio di pagina ASP:
<%@ LANGUAGE = JScript %>
<html>
<head><title>Prova ASP</title></head>
<body>
<% for (i=1;i<=10;i++) { %>
<b>Riga numero <%=i%></b><br>
<% } %>
</body>
</html>
21
Gli oggetti
ASP mette a disposizione 5 diversi oggetti che
consentono il controllo del server e della comunicazione
server-client:
Response
gestisce l'output del codice
Request
gestisce l'input del codice
Server
assolve a funzionalità relative all'ambito di
esecuzione
Session
gestisce le sessioni degli utenti
Application permette di condividere informazioni tra più
utenti di una stessa applicazione
22
Gli oggetti
Il linguaggio di scripting e gli oggetti ASP si appoggiano su
oggetti esterni, definiti secondo la tecnologia ActiveX, per
eseguire, ad esempio, operazioni di lettura e scrittura file,
connettività con i database, ecc.
Il linguaggio di scripting consente di coordinare e utilizzare
gli oggetti built-in e i componenti ActiveX.
23
L'oggetto Response
L'oggetto built-in Response consente di produrre un
output al client.
Proprietà:
Metodi:
Buffer
CacheControl
CharSet
ContentType
Expires
ExpiresAbsolute
Status
AddHeader
AppendToLog
BinaryWrite
Clear
End
Flush
IsClientConnected
Pics
Redirect
Write
24
L'oggetto Response
Il metodo Response.Write serve per un output di testo al
client:
<% Response.Write(stringa); %>
la stringa può essere una variabile, può essere
concatenata (con l'operatore +) e può contenere pezzi di
HTML:
<% Response.Write("<b>Buongiorno</b>"); %>
25
L'oggetto Request
L'oggetto built-in Request serve a recuperare informazioni
da altre pagine HTML o ASP, dai cookies, ecc.
L'oggetto fa riferimento ad alcune "collezioni" tra le quali:
• Cookies (valori dei cookies)
• Form (valori inviati da un Form - metodo POST)
• QueryString (valori passati attraverso una stringa)
• ServerVariables (valori di variabili di ambiente)
26
L'oggetto Request
Il tipico modo di passare valori ad una pagina ASP da
parte del client è attraverso una FORM contenuta in una
pagina HTML:
submit
Pagina Html
con un form
Con il submit si inviano le
informazioni contenute nel
modulo
Per ulteriori informazioni sui Forms
Pagina Asp che
elabora le
informazione (e le
salva su file)
27
L'oggetto Request
Un esempio di modulo che richiama una pagina ASP:
<form action="recupera.asp" method="POST">
<input type="text" name="text1" value="">
<input type="submit" value="invia il
testo">
</form>
Nella pagina recupera.asp verrà ricuperato il valore del
campo text1 mediante la collezione Form di Request:
var testo = Request.Form("text1");
28
L'oggetto Request
La collezione Form di Request consente di recuperare
tutti i valori dei campi di input del modulo; per controllare
se è stato inserito un valore:
var testo = String(Request.Form("text1"));
if (testo=="undefined") // non è stato
inviato alcun campo nominato text1
...
Per i campi di tipo text il valore è quello immesso
dall'utente, per i bottoni radio è quello associato alla
scelta, per quelli hidden è quello dato dall'autore.
29
L'oggetto Request
La collezione QueryString di Request consente di
recuperare la stringa che viene "appesa" alla richiesta di
URL con un punto interrogativo; ad esempio un modulo
con il metodo GET:
<form action="recupera.asp" method="GET">
<input type="hidden" name="h"
value="Prova">
<input type="submit" value="invia">
</form>
quando viene premuto submit viene richiesto l'URL con
associato il valore del campo hidden h:
…recupera.asp?h=Prova
30
L'oggetto Request
La QueryString di Request recupererà il valore di h:
var testo = Request.QueryString("h");
e la variabile testo avrà il valore "Prova".
Per passare dei parametri ad una pagina ASP che utilizzi
la QueryString non è necessario usare una form: si può
anche farlo con un normale collegamento ipertestuale:
<a href="apri.asp?id=56">Messaggio 56</a>
N.b.: La stringa così passata non può contenere spazi
bianchi o lettere accentate, sostituibili dal codice ASCII in
esadecimale preceduto da % (spazio= %20); n.b: esiste
una funzione JS escape() che trasforma una stringa...
31
L'oggetto Request
La collezione ServerVariables di Request consente di
fornire alcune informazioni sull'utente connesso e sul
server; tra queste:
CONTENT_LENGTH (lunghezza dei dati inviati dal
cliente)
LOCAL_ADDR (indirizzo del server)
QUERY_STRING (stringa inviata dal cliente)
REMOTE_ADDR (indirizzo IP del cliente)
REMOTE_HOST (indirizzo dell'host del cliente)
SCRIPT_NAME (percorso virtuale dello script esguito)
SERVER_NAME (DNS o indirizzo IP del server)
SERVER_SOFTWARE (nome e versione del server)
32
ESERCITAZIONE/1
Installare il PWS sul pc
Creare una propria directory per le prove delle pagine
ASP
Definire l'alias per la propria directory
Predisporre HomeSite per l'esecuzione delle pagine
ASP dalla propria directory
Provare i due esempi di programmi
33
ESERCITAZIONE/2
Realizzare una pagina HTML con un modulo che presenti:
• un campo hidden con il titolo del modulo (es. "Richiesta
informazioni")
• dei campi di testo (Nome, Cognome, Indirizzo, Tel.,
ecc.)
• alcuni pulsanti radio (es. Sesso, Classe di Età, ecc.)
• un'area di testo per commenti
• i pulsanti Invia e Cancella
Il modulo dovrà richiamare una pagina ASP (metodo
POST), che dovrà rispondere all'utente riassumendo le
informazioni ricevute, con data e ora di ricezione.
34
ESERCITAZIONE/3
Provare il modulo dell'esercitazione precedente usando il
metodo GET.
Utilizzare inoltre la collezione ServerVariables
(REMOTE_ADDR) per visualizzare anche l'IP del cliente.
Per complicare un po': aggiungere dei controlli sulle
immissioni obbligatorie.