pagine asp parte 1 introduzione stefano schacherl

34
Pagine ASP parte 1 Introduzione Stefano Schacherl Stefano Schacherl

Upload: riccarda-savino

Post on 02-May-2015

224 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Pagine ASP parte 1 Introduzione Stefano Schacherl

Pagine ASPparte 1

Introduzione

Stefano SchacherlStefano Schacherl

Page 2: Pagine ASP parte 1 Introduzione Stefano Schacherl

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.

Page 3: Pagine ASP parte 1 Introduzione Stefano Schacherl

3 Introduzione

Page 4: Pagine ASP parte 1 Introduzione Stefano Schacherl

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).

Page 5: Pagine ASP parte 1 Introduzione Stefano Schacherl

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.

Page 6: Pagine ASP parte 1 Introduzione Stefano Schacherl

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

Page 7: Pagine ASP parte 1 Introduzione Stefano Schacherl

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.

Page 8: Pagine ASP parte 1 Introduzione Stefano Schacherl

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).

Page 9: Pagine ASP parte 1 Introduzione Stefano Schacherl

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

Page 10: Pagine ASP parte 1 Introduzione Stefano Schacherl

10 Personal Web Server

Documentazione

Pagine ASP

Page 11: Pagine ASP parte 1 Introduzione Stefano Schacherl

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

Page 12: Pagine ASP parte 1 Introduzione Stefano Schacherl

12 Personal Web Server

Nome locale

Page 13: Pagine ASP parte 1 Introduzione Stefano Schacherl

13 Personal Web Server

Documenti predefiniti

Page 14: Pagine ASP parte 1 Introduzione Stefano Schacherl

14 Personal Web Server

Page 15: Pagine ASP parte 1 Introduzione Stefano Schacherl

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.

Page 16: Pagine ASP parte 1 Introduzione Stefano Schacherl

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

Page 17: Pagine ASP parte 1 Introduzione Stefano Schacherl

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>

Page 18: Pagine ASP parte 1 Introduzione Stefano Schacherl

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>

Page 19: Pagine ASP parte 1 Introduzione Stefano Schacherl

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

Page 20: Pagine ASP parte 1 Introduzione Stefano Schacherl

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>

Page 21: Pagine ASP parte 1 Introduzione Stefano Schacherl

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

Page 22: Pagine ASP parte 1 Introduzione Stefano Schacherl

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.

Page 23: Pagine ASP parte 1 Introduzione Stefano Schacherl

23 L'oggetto Response

L'oggetto built-in Response consente di produrre un output al client.

Proprietà:

BufferCacheControlCharSetContentTypeExpiresExpiresAbsoluteStatus

Metodi:

AddHeaderAppendToLogBinaryWriteClearEndFlushIsClientConnectedPicsRedirectWrite

Page 24: Pagine ASP parte 1 Introduzione Stefano Schacherl

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>"); %>

Page 25: Pagine ASP parte 1 Introduzione Stefano Schacherl

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)

Page 26: Pagine ASP parte 1 Introduzione Stefano Schacherl

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:

Per ulteriori informazioni sui Forms

submit

Pagina Html con un form

Con il submit si inviano le informazioni contenute nel

moduloPagina Asp che

elabora le informazione (e le

salva su file)

Page 27: Pagine ASP parte 1 Introduzione Stefano Schacherl

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");

Page 28: Pagine ASP parte 1 Introduzione Stefano Schacherl

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.

Page 29: Pagine ASP parte 1 Introduzione Stefano Schacherl

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

Page 30: Pagine ASP parte 1 Introduzione Stefano Schacherl

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...

Page 31: Pagine ASP parte 1 Introduzione Stefano Schacherl

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)

Page 32: Pagine ASP parte 1 Introduzione Stefano Schacherl

32 ESERCITAZIONE/1

Installare il PWS sul pcInstallare il PWS sul pc

Creare una propria directory per le prove delle pagine Creare una propria directory per le prove delle pagine ASPASP

Definire l'alias per la propria directoryDefinire l'alias per la propria directory

Predisporre HomeSite per l'esecuzione delle pagine Predisporre HomeSite per l'esecuzione delle pagine ASP dalla propria directoryASP dalla propria directory

Provare i due esempi di programmi Provare i due esempi di programmi

Page 33: Pagine ASP parte 1 Introduzione Stefano Schacherl

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.

Page 34: Pagine ASP parte 1 Introduzione Stefano Schacherl

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.