Introduzione

Download Report

Transcript Introduzione

ASP – Active Server Pages
Introduzione
ASP, acronimo di Active Server Pages, sta ad indicare una tecnologia
per lo sviluppo di pagine dinamiche.
Tali pagine includono codice che viene eseguito sul Server e solo
l’output prodotto viene inviato al client.
È una tecnologia sviluppata da Microsoft e quindi il Server che la
supporta dovrà funzionare in ambiente Windows.
I linguaggi che è possibile utilizzare sono: VBScript e JavaScript.
-1-
Giuseppe De Pietro
ASP – Active Server Pages
Il Web Server
Quando si sviluppano pagine lato client si prende in considerazione
solo il browser che le deve visualizzare.
Per le pagine dinamiche invece è fondamentale l’utilizzo di un Web
Server, ovvero un servizio che dovrà ricevere le richieste dal client,
processare il codice e restituire una risposta in formato HTML.
Per le pagine ASP si deve utilizzare il Web Server di Microsoft IIS
(Internet Information Server).
-2-
Giuseppe De Pietro
ASP – Active Server Pages
Le richieste Web
Richiesta HTTP
Risposta HTTP
IIS
Pagine ASP
-3-
Giuseppe De Pietro
ASP – Active Server Pages
Eseguire le pagine ASP in locale
Lo sviluppatore può testare le applicazioni Web simulando le
connessioni al server.
Gli utenti di Windows NT, 2000 e XP Professional dispongono di una
copia di IIS.
Gli utenti di Windows 98 possono comunque eseguire le pagine ASP
utilizzando una versione molto semplificata di IIS: Personal Web
Server (PWS).
-4-
Giuseppe De Pietro
ASP – Active Server Pages
La struttura di una pagina ASP
ASP non è un linguaggio, è una tecnologia in cui elementi di diversa
natura cooperano fra di loro per produrre un risultato.
La struttura tipica di una pagina è formata da quattro elementi
distinti:
Direttive per l’interprete: sono comandi che una pagina fornisce
all’interprete per il corretto funzionamento della stessa.
Comandi SSI: usati per includere risorse esterne.
Codice di scripting: è la parte attiva della pagina contenente il codice.
Codice statico: è la parte che viene trasferita al client così com’è.
-5-
Giuseppe De Pietro
ASP – Active Server Pages
Un semplice esempio
<%@ language=“JavaScript”%>
Direttiva
<!--#include file=“nome.asp”-->
<html>
<head>
<title>Pagina ASP</title>
</head>
<body>
<%
Response.Write(“Pagina ASP”)
%>
</body>
</html>
-6-
Comando SSI (Server Side
Include)
Codice di scripting
Codice statico
Giuseppe De Pietro
ASP – Active Server Pages
Usare due linguaggi lato Server
L’attributo della direttiva language obbliga ad utilizzare il linguaggio
indicato.
Ma se volessimo utilizzare due linguaggi diversi nella stessa pagina,
possiamo includere il codice lato Server in questo modo:
<%@language=“JavaScript”%>
<script language=“VBScript” runat=“server”>
‘ codice VBScript
</script>
<%
//codice JavaScript
%>
-7-
Giuseppe De Pietro
ASP – Active Server Pages
Oggetti built-in
JavaScript è un ottimo linguaggio ad oggetti.
Integrato in un ambiente client interagisce con gli oggetti del
browser (window, document, location, ecc.) ma usato in ambiente
ASP non può assolutamente utilizzare tali oggetti.
Ne esistono però altri creati automaticamente dal server e messi a
disposizione di ciascuna pagina:
Application: crea variabili legate all’applicazione.
Request: permette di ricevere dati dal client.
Response: invia dati al client.
Server: interagisce con l’ambiente del Web Server.
Session: crea variabili legate alle sessioni utente.
-8-
Giuseppe De Pietro
ASP – Active Server Pages
Oggetto Response
È l’oggetto che si occupa di inviare dati dal Server al client.
Il protocollo HTTP definisce delle regole ben precise
comunicazione tra client e Server.
di
Headers
(errori,redirect,
tipo file,Info cache)
Corpo della pagina
-9-
Giuseppe De Pietro
ASP – Active Server Pages
Metodi Write e End
Il metodo Response.Write è quello più comune, serve per la
creazione dinamica del documento da restituire al client.
Response.Write(“messaggio”)
<%=“messaggio”%>
Il metodo Response.End() interrompe l’esecuzione di una pagina:
Tutto quello che segue (codice statico e dinamico) non verrà preso in
considerazione.
- 10 -
Giuseppe De Pietro
ASP – Active Server Pages
Redirezionare l’utente
Una particolare intestazione HTTP è il reindirizzamento verso un’altra
pagina.
Questa operazione la si effettua con il metodo:
Response.Redirect(“nomepagina”)
Essendo una intestazione è d’obbligo inserirla prima all’inizio della
pagina altrimenti genera un errore.
Si risolve il problema bufferizzando l’output della pagina:
Response.Buffer=true
In questo modo si indica al Web Server di non inviare la risposta
finchè non ha finito di elaborare la pagina.
- 11 -
Giuseppe De Pietro
ASP – Active Server Pages
Controllo della cache
Grazie all’oggetto Response è possibile gestire la durata della pagina
nella cache del browser:
Response.Expires=120
Indica al browser di conservare la pagina nella memoria cache per 2 ore.
Impostando a 0 il tempo, il browser non archivierà la pagina, mentre
è possibile anche indicare una data assoluta:
Response.ExpiresAbsolute=“30/06/2004 08:00:00”
È possibile anche controllare la cache di un proxy (di default i proxy
non archiviano le pagine ASP), per attivare l’archiviazione:
Response.CacheControl=“Public”
per disattivarla:
Response.CacheControl=“Private”
- 12 -
Giuseppe De Pietro
ASP – Active Server Pages
Oggetto Request
L’oggetto Request raccoglie in input sia i dati inviati dal client che
quelli dell’ ambiente del Web Server.
Le variabili d’ambiente permettono di recuperare varie informazioni
in merito al server, allo script ed al client.
Request.ServerVariables(costante)
IP del Server (LOCAL_ADDR).
Nome del Server (SERVER_NAME).
Porta del Server (SERVER_PORT).
Protocollo supportato (SERVER_PROTOCOL).
IP del client (REMOTE_ADDR).
Nome del client (REMOTE_HOST).
Tutte le intestazioni HTTP (ALL_HTTP).
- 13 -
Giuseppe De Pietro
ASP – Active Server Pages
Lettura dati dal client
La collezione Request.Form permette di ricevere dati dal client in
modalità Post :
Request.Form(“nome_controllo”)
Mentre in modalità Get, i dati saranno inseriti dopo l’URL in formato
QueryString:
Pagina.asp?campo1=valore1&campo2=valore2
E sul server sarà possibile prelevarli con:
Request.QueryString(“nome_controllo”)
- 14 -
Giuseppe De Pietro
ASP – Active Server Pages
Oggetto Server
È l’oggetto che permette il controllo di alcune funzionalità aggiuntive
del Web Server.
ScriptTimeout: specifica in secondi la durata massima di esecuzione dello
script (default 90 secondi). È utile per evitare che uno script mal
progettato possa impegnare troppo il Server.
CreateObject: genera un’istanza di un componente installato sul Server.
Ad esempio per creare un oggetto connection:
Server.CreateObject(“ADODB.Connection”)
MapPath: restituisce un percorso assoluto, partendo da un percorso
relativo. Molto utile per astrarsi dal file system della macchina su cui
risiede lo script.
HTMLEncode: codifica i caratteri particolari dei tag HTML (<,>, ecc.)
come entità. È molto utile per trattare del testo inviato da un utente,
senza dargli la possibilità di poter inserire degli script pericolosi.
URLEncode: applica le regole della codifica URL (equivalente escape).
- 15 -
Giuseppe De Pietro
ASP – Active Server Pages
- 16 Giuseppe De Pietro