introduzione alle asp: primi passi negli script. frosini andrea e-mail: [email protected] università...
TRANSCRIPT
![Page 1: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/1.jpg)
Introduzione alle ASP:primi passi negli script.
Frosini Andreae-mail: [email protected]
Università degli studi di Siena Dipartimento di Scienze Matematiche ed Informatiche
![Page 2: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/2.jpg)
Pagine Web statiche
• il computer contatta il server HTTP basandosi sull’URL da noi indicata (i nomi vengono tradotti in indirizzi IP dal servizio distribuito DNS);
• il server HTTP cerca il file richiesto e, una volta trovato, invia il file al richiedente;
• il computer, una volta ricevuto il file, lo esamina, lo elabora (rendering) e lo mostra a video
Il Web nasce come una collezione di pagine HTML collegate tra loro tramite links ipertestuali.
Quando nel Browser si indica un URL (Uniform Resource Locator):
![Page 3: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/3.jpg)
Pagine Web dinamiche
Pagine il cui contenuto dipende dal contesto di esecuzione
• il browser invia al server Web, tramite URL, la richiesta di attivazione di un programma seguita da una serie di parametri;
• il server Web riconosce che la richiesta deve essere indirizzata all’applicazione e ne attiva una istanza con i parametri ricevuti;
• l’applicazione effettua l’elaborazione in base ai parametri e crea sullo standard output, la risposta per il browser;
• il server Web cattura il flusso di dati generato dall’applicazione e lo trasforma in pagina HTML.
Inizialmente le pagine dinamiche erano realizzate tramite lo standard CGI (Common Gateway Interface), successivamente è stata data la possibilità ai browsers di interpretare i linguaggi di scripting.
![Page 4: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/4.jpg)
Linguaggi di scripting
Linguaggi come Jscript, VBscript, Perl che permettono al client di
effetture semplici elaborazioni.
Si avvicinano ai linguaggi di programmazione, pur caratterizzandosi
con una sintassi semplice e meno rigida.
Il codice di uno script si inserisce usualmente all’interno del codice
HTML, che riserva per questo i particolari tags <script> e </script>.
![Page 5: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/5.jpg)
Script
• Uno script è composto da vari comandi di script.
• Un comando di script può assegnare un valore ad una variabile,
eseguire una operazione, avviare un processo di stampa …
• Affinchè uno script possa essere eseguito viene inviato ad uno
scripting engine che lo legge, riga per riga, e ne esegue i comandi.
• Ogni linguaggio di scripting ha bisogno del relativo scripting engine
installato sul server.
• Il client non necessita di uno scripting engine dato che tutto il carico
di lavoro è eseguito dal server.
![Page 6: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/6.jpg)
Cosa è ASP
• ASP è l’acronimo per Active Server Pages;
• le pagine sono “attive” perché contengono istruzioni che ne possono diversificare il contenuto finale;
• le pagine vengono scritte in HTML e salvate con estensione .asp;
• le pagine ASP hanno al loro interno un linguaggio di scripting;
• le pagine HTML di risposta alla richiesta di una ASP vengono create sul momento
ASP non è un linguaggio di scripting
![Page 7: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/7.jpg)
Come funziona ASP
• L’idea di base di ASP è quella di sfruttare la tecnologia COM (Common Object Model), cioè sfruttare tutte le risorse che il server Microsoft ha a disposizione, coinvolgendo i linguaggi di scripting Vbscript e Jscript;
• il client richiede una pagina .asp al server. Il server invoca ASP per elaborarla;
• vengono effettuati il parsing, il controllo sintattico e la compilazione della pagina;
• il risultato è immerso nel codice HTML ed inviato al client.
![Page 8: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/8.jpg)
Attenzione!
N.B. una pagina ASP non può essere testata in locale a meno di non
aver installato un Personal Web Server (PWS)
Per creare una pagina .asp è necessario:
• salvare il file in una directory visibile dalla rete;
• avere il permesso di esecuzione degli script.
![Page 9: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/9.jpg)
Vantaggi e svantaggi di ASP
Vantaggi:• Completa indipendenza dal particolare browser utilizzato• Possibilità di usare più linguaggi di scripting all’interno di una
applicazione asp• Comandi di script
Svantaggi:• Notevole carico di lavoro per il server che deve generare
dinamicamente le pagine
• Tale soluzione contrasta con il modello CLIENT-SERVER
![Page 10: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/10.jpg)
Sintassi ASP
Una pagina ASP è può essere composta da:
• testo;
• marcatori HTML;
• comandi di script.
E’ consentito utilizzare variabili, cicli ed istruzioni di controllo.
N.B. il creatore della pagina asp deve avere i permessi necessari
all’esecuzione degli script e delle query concessi dal server!
![Page 11: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/11.jpg)
Dichiarare il linguaggio di scripting
ASP supporta in modo nativo due linguaggi: VBscript e Jscript.
Se non diversamente specificato, ASP interpreta quanto presente all’interno dei tag <% e %> come VBscript.
Il linguaggio può essere dichiarato a livello di sito, di file o di funzione (cioè la dichiarazione vale per tutte le applicazioni ASP gestite dall’Internet Information Services (IIS), solo per quelle legate ad un singolo file o solo per quelle legate ad una singola funzione).
L’ulteriore attributo RUNAT permette di specificare il livello di
interpretazione dello script e assume i valori Server e Client.
![Page 12: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/12.jpg)
Ricordiamoci che:
In VBScript sono disponibili i seguenti cicli:• Do While … Loop: le istruzioni sono ripetute fino a quando una
condizione risulta True;
• While … Wend: le istruzioni sono ripetute fino a quando una condizione risulta True;
• For … Next: le istruzioni sono ripetute un numero di volte specificato da un contatore;
• For Each … Next: un insieme di istruzioni viene ripetuto per ciascun elemento di un insieme. Tale numero puo’ non essere noto a priori!
![Page 13: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/13.jpg)
Esempi di semplici script (1)
<HEAD><TITLE>Evento associato ad un bottone</TITLE></HEAD>
<SCRIPT LANGUAGE="VBScript">
<!--
Sub Bottone1_OnClick
MsgBox “Ciao Ciao.”
End Sub
--></SCRIPT>
<BODY>
<H3>Una semplice pagina di esempio</H3><HR>
<FORM>
<INPUT NAME="Bottone1" TYPE="BUTTON" VALUE="Fare clic qui">
</FORM></BODY>
![Page 14: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/14.jpg)
Esempi di semplici script (2)
<SCRIPT><!--
Sub Submit_OnClick
Dim TheForm
Set TheForm = Document.MioForm
If IsNumeric(TheForm.Testo1.Value) Then
If TheForm.Testo1.Value < 1 Or TheForm.Testo1.Value > 10 Then
MsgBox "Immettere un numero compreso tra 1 e 10."
Else MsgBox "Valore corretto."
End If
Else MsgBox "Immettere un valore numerico."
End If
End Sub
--></SCRIPT> …
![Page 15: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/15.jpg)
Esempi di semplici script (3)
<FORM NAME=“MioForm”>
<INPUT TYPE=“Button” NAME =“Bottone1” VALUE="Click">
<SCRIPT FOR="Bottone1" EVENT = “onClick” LANGUAGE=“VBScript”>
MsgBox “Hai premuto il pulsante”
</SCRIPT>
</FORM>
<SCRIPT LANGUAGE="VBScript">
<!--
Dim MyVar
MyVar = MsgBox ("Salve gente!", 65, "Esempio di MsgBox")
MsgBox ("Pulsante premuto "&MyVar)
</SCRIPT>
![Page 16: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/16.jpg)
Esempi di semplici script (4)
<SCRIPT><!--
Sub Esempio_ciclo()
Dim Contatore, Numero
Contatore = 0
Numero = 20
Do While Numero > 10
Numero = Numero - 1
Contatore = Contatore + 1
Loop
MsgBox “Il ciclo ha eseguito” & counter & “ ripetizioni.”
End Sub
--></SCRIPT> …
![Page 17: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/17.jpg)
ASP: Esempio 1
<SCRIPT RUNAT=Server LANGUAGE=JSCRIPT>
function CiaoJS() {
Response.write(“Ciao da JScript")}
</SCRIPT>
<SCRIPT RUNAT=Server LANGUAGE=VBScript>
Sub CiaoVB
Response.write “Ciao da VBScript"
End Sub
</SCRIPT>
<html><HEAD><TITLE>Esempio Script lato server</TITLE></HEAD>
<body>
<% Call CiaoJS%><BR>
<% Call CiaoVB%>
</body>
</html>
![Page 18: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/18.jpg)
Inclusione di file e commenti
Sintassi
inclusione: <!--#include file = "file_da_includere"-->
commento: REM commento
‘ commento
Regole per l’inclusione di file:
• un file può includere altri file;
• un file non può includere sé stesso;
• un file può essere incluso più volte;
• non si possono creare dinamicamente nomi di file inclusi.
![Page 19: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/19.jpg)
Dichiarazione di variabili e cicli
Inizializzazione di una variabile: pippo = 12
pluto = “Ciao mondo”
I cicli possono essere definiti usualmente:for counter = 25 to 0 step -5
“Ciao mondo!<br>”
next
oppureDo
"Ciao Mondo!<br>"
i = i + 1
Loop Until i > 5
La dichiarazione esplicita delle variabili nello script può essere
forzata utilizzando <% option explicit %>
![Page 20: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/20.jpg)
Esempio 2
<HTML><HEAD><TITLE> Esempio variabili e cicli </TITLE></HEAD>
<BODY bgcolor="#FFFFFF">
<center> Calcolo dei quadrati e cubi dei primi 5 numeri <br><br>
<table border = 2>
<tr>
<td> Numero <td> Quadrato <td> Cubo ‘ intestazione tabella
</tr>
<% dim i ‘ dichiarazione variabile
i=5
for num = 1 to i %> ‘ variabile non dichiarata
<tr align=center>
<td><%=num%> <td><%=num*num%> <td><%=num*num*num%>
</tr>
<% next %>
</center>
</BODY></HTML>
![Page 21: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/21.jpg)
Definire e richiamare procedure
Le procedure all’interno di una Active Server Page
• possono essere scritte con linguaggi di scripting diversi (seguendone, ovviamente, la sintassi);
• possono essere definite su file esterni inclusi;
• sono richiamate con il comando Call Nome_procedura
• dopo il nome della procedura, tra parentesi, possono essere inseriti
gli eventuali parametri;
![Page 22: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/22.jpg)
Esercizio
Piccolo esercizio:
• creare un file con estensione .inc che contenga una procedura
per stampare il carattere “ * ” ed una seconda procedura per
stampare il carattere “ ^ ” ;
• creare un file con estensione .asp che:
• includa il file .inc creato;
• visualizzi un triangolo rettangolo di altezza 9, formato
dalla sequenza di simboli “ *^* ” richiamati tramite le
procedure contenute nel file incluso.
![Page 23: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/23.jpg)
Esempio 3
<% @LANGUAGE = VBScript %>
<% Option Explicit
Response.ContentType = "text/html"
Response.Expires = -1500 %>
… <%= date %> … <%= time %>
Informazioni dal browser
<%=Request.ServerVariables("SCRIPT_NAME")%>
<%=Request.ServerVariables("SERVER_PORT")%>
<%=Request.ServerVariables("REMOTE_HOST")%>
<%=Request.ServerVariables("HTTP_HOST")%>
<%=Request.ServerVariables("REMOTE_ADDR")%>
<%=Request.ServerVariables("HTTP_USER_AGENT")%>
<%=Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")%>
![Page 24: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/24.jpg)
Creare moduli
Lo scambio di dati tra client e server avviene essenzialmente tramite
i moduli (form) caratterizzati da:
•Campi: elementi da riempire con l’input che si desira spedire al
server;
•Bottoni: permettono l’invio (submit) o la cancellazione (reset) dei
dati inseriti nei campi;
•CGI (Common Gateway Interface): programmi lato server (Java,
C++, Perl …) che leggono ed elaborano i dati inviati,
fornendo al client la risposta tramite una pagina HTML di
formato standard.
![Page 25: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/25.jpg)
Il tag <form>
Il tag per la creazione di moduli è <form> </form>
I suoi attributi di interesse sono
•Action: specifica l’azione che dovrà essere fatta al momento
dell’invio dei dati (caricamento di una pagina,
reindirizzamento verso una specifica URL, specifica della
risorsa che dovrà elaborare i dati inviati …)
•Method: specifica il modo di invio al server dei dati. I valori
ammessi sono get e post.
![Page 26: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/26.jpg)
I metodi GET e POST
Inviando una form il client invia coppie del tipo nome=valore.
Il metodo GET è indicato per il passaggio di pochi valori che
vengono specificati al programma CGI sulla linea di comando.
Tali valori possono essere solo di tipo testuale, ad esempio
http://localhost/cgi-bin/script?nome=andrea&cognome=frosini
Il metodo POST è indicato per il passaggio di grandi quantità di dati
di qualsiasi tipo (testi, immagini, video). Viene eseguito solo in
risposta ad una form ed i parametri non passano in chiaro nella URL.
I dati vengono passati nel corpo del pacchetto HTTP.
![Page 27: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/27.jpg)
Il tag <input />
Gli attributi del tag <input /> permettono le diverse modalità di
inserimento dati. Ad esempio:•text, password, hidden permettono l’inserimento di righe di testo;•textarea permette l’inserimento di aree di testo;•select elemento di selezione multipla;•radio e checkbox bottoni di invio dati;•submit e reset bottoni di invio e cancellazione dati.
Esempio: <input type=“text” name=“saluto” value=“ciao” />
Ad ogni elemento è possibile associare un nome univoco ed un valore
di default
![Page 28: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/28.jpg)
Cosa ci interessa?
La gestione dei form può risultare complessa, per questo noi ci
limiteremo quasi esclusivamente all’utilizzo
• del formato di invio POST;
• del tipo TEXT;
• dei bottoni di SUBMIT e RESET.
Esercizio:
Creare una pagina .html che includa un bottone per caricare una
seconda pagina .html per visualizzare la scritta “Ciao”.
![Page 29: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/29.jpg)
Esempio 3: saluto.html
<HTML><HEAD><TITLE>Esempio saluto</TITLE></HEAD>
<BODY><center>Invio dati personali studente</center><br>
<FORM METHOD=POST ACTION="salve.asp">
<TABLE>
<TR>
<TD align=right>Nome:</TD>
<TD align=left><INPUT TYPE=TEXT NAME="nome"></TD>
</TR>
<TR>
<TD>
<TD align=left>
Maschio <INPUT type="RADIO" name="sesso" value="Maschio">
Femmina <INPUT type="RADIO" name="sesso" value="Femmina">
</TR>
</TABLE>
<INPUT TYPE=RESET> <INPUT TYPE=SUBMIT>
</FORM></BODY></HTML>
![Page 30: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/30.jpg)
Esempio 3: salve.asp
<%@ Language=VBScript %>
<HTML><BODY>
<center><h3> Salve <br>
<%
strsesso=request.form("sesso")
pippo=request.form("nome")
%>
<% If (strsesso="Femmina") Then %>
Sig.ra
<%End If%>
<%If (strsesso="Maschio") Then %>
Sig.
<% End If %>
<%=pippo%>
</h3></center></BODY></HTML>
![Page 31: Introduzione alle ASP: primi passi negli script. Frosini Andrea e-mail: frosini@unisi.it Università degli studi di Siena Dipartimento di Scienze Matematiche](https://reader035.vdocuments.site/reader035/viewer/2022070313/5542eb66497959361e8d21ab/html5/thumbnails/31.jpg)
Esempio 4: esercizio
Esempio / esercizio:
• creare una pagina contenente un form per l’inserimento dei dati
di uno studente che contenga i campi testuali:
ID studente, Nome, Cognome, Citta’, Stato, CAP;
• inviare il form con il metodo post;
• l’invio del form deve caricare, in risposta, una pagina che
visualizzi i dati inseriti;
• eventualmente creare un controllo sui campi inseriti.