Superare i limiti dell'html per creare dei siti sempre più rispondenti alle esigenze dei visitatori è stato una delle mete a cui i programmatori di linguaggi di scripting hanno puntato nel corso della storia del web. Dalle prime pagine statiche, manifesto di un sito, si è progressivamente arrivati non solo all'esplosione del multimediale, ma, soprattutto, al diffondersi di pagine interattive, in grado non solo di affascinare, ma di fornire un utile strumento a chi le volesse usare.
Di linguaggi scripting ne esistono parecchi, alcuni più simili a veri e propri linguaggi di programmazione, altri più facili. Il perl, ad esempio, è il tipico caso di linguaggio complesso, ma molto efficace, utilizzato per la creazione di cgi (common gateway interface) a livello professionale e poco diffuso fra gli utenti medi, a causa della difficoltà di apprendimento e di gestione della sua sintassi; inoltre, essendo nato in ambiente Unix ha trovato non poche difficoltà ad affermarsi al di fuori di una pur vasta cerchia di provider e professionisti del settore che utilizzano questo sistema operativo. Un'altra difficoltà notevole per l'utente medio è da sempre rappresentata dalla generale impossibilità di eseguire i cgi al di fuori della directory cgi-bin del web server del quale ci si serve, directory il cui accesso è limitato al web master. Solo in rari casi l'amministratore di sistema consente l'esecuzione di script perl (che hanno la possibilita' di eseguire operazioni di lettura e scrittura su disco) da una qualsiasi directory. Se ciò ha una giustificazione a livello di sicurezza di un sito web, certo non ha invogliato gli utenti ad utilizzare questo linguaggio che richiede una "interazione" con provider e amministratori a volte troppo indaffarati per dare ascolto alle insolite richieste di un cliente.
Superare la staticità delle pagine web, mantenendo al contempo una semplicità di programmazione che consenta a tutti di intervenire senza prima dovere leggere voluminosi manuali è ora possibile grazie ai nuovi linguaggi di scripting. Fra tutti si distingue sicuramente ASP (Active Server Pages) per la rapidità e flessibilità di utilizzo che lo caratterizzano, che però sono controbilanciate da uno svantaggio non indifferente; l'utilizzo di questo linguaggio è confinato ai server Microsoft , come ad esempio IIS, e non funziona quindi con tutti gli altri server che popolano il web. La sempre maggiore diffusione dei server Windows contribuisce però a rendere meno limitante questo ostacolo e, tutto sommato, non è difficile vedere diversi provider abbandonare il mondo Unix per le nuove possibilità offerte da Windows NT.
Grazie all'utilizzo delle pagine ASP, l'utente può quindi creare dei documenti che possono fornire informazioni, rispondendo in modo diverso alle differenti richieste dei navigatori. Ma quali sono, in breve, i vantaggi nell'utilizzo di questo linguaggio di scripting?
- Le pagine asp sono completamente integrate con i file html.
- Sono facili da creare e non necessitano di compilazione.
- Sono orientate agli oggetti e usano componenti server ActiveX.
Visti i vantaggi, e viste anche le limitazioni cui abbiamo accennato in precedenza, riassumiamo le tecnologie conivolte nello sviluppo e funzionamento delle active server pages:
- Windows NT
- Protocollo tcp/ip
- Un web server che supporti Active Server, come IIS
- ODBC (Open DataBase Connectivity) e un server database .
Esaminando più da vicino l'"anatomia" di questo genere di pagine possiamo constatare che esse sono costituite da tre differenti parti:
- Testo
- Marcatori html
- Comandi script
In un documento con estensione .asp è consentito utilizzare variabili, cicli, istruzioni di controllo, etc., grazie alla possibilità di richiamare la sintassi un linguaggio di scripting, come ad esempio il VBScript e il JScript, ma anche Perl e Rexx.
Prima di iniziare ad imparare la programmazione delle pagine ASP tramite un buon numero di esempi commentati, è bene dare un'occhiata preliminare alla sintassi per capire come esso funzioni. Non intendiamo fare qui un elenco completo di tutti i comandi: inizieremo con un insieme di istruzioni base che amplieremo ed illustreremo nel corso delle lezioni utilizzando degli esempi di codice che cerchino di insegnare a creare qualche cosa di realmente utile.
Una prima distinzione che possiamo operare a livello di codice sorgente è a livello di comandi nativi, propri di ASP, e comandi di scripting che appartengono al particolare linguaggio utilizzato. Tra i marcatori fondamentali di ASP ci sono sicuramente i delimitatori, che come nell'html delimitano l'inizio e la fine di una sequenza di codice, e sono rappresentati dai simboli:
<% e %>
Ad esempio il comando:
<% x="ciao" %>
assegna alla variabile x il valore "ciao".
Abbiamo già detto che è possibile includere anche script nel codice asp e utilizzare così funzioni create, ad esempio, in JScript o VBScript, richiamandole tramite il comando nativo <% Call _ %>, come nell'esempio 1 che mostra come costruire una pagina che visualizzi la data del giorno corrente:
ESEMPIO1.ASP
<% Call PrintDate %> <SCRIPT LANGUAGE=JScript RUNAT=Server> function PrintDate() { var x // x è un'istanza dell'oggetto Date x = new Date() // il comando Response.Write scrive la data sul navigatore Response.Write(x.getDate()) } // Questa è la definizione della procedura PrintDate. // Questa procedura manderà la data corrente al navigatore. </SCRIPT>
Dato che abbiamo inrodotto il concetto di oggetto, accenniamo brevemente alla sua natura; un oggetto è un'astrazione di una struttura dati, di cui non interessa sapere come è implementatata (information hiding), ma quali sono le operazioni possibili su di essa.
ASP possiede degli oggetti precostituiti, sui quali si può operare con i metodi, che sono delle funzioni intrinseche all'oggetto: per fare un'esempio, sull'oggetto automobile un metodo può essere rappresentato dall'operazione di "fare_benzina", rappresentabile con una notazione del tipo
automobile.fare_benzina .
Sebbene si rassomiglino, bisogna fare attenzione a non confondere i metodi dalle funzioni; queste ultime infatti sono definite dal programmatore e risultano esterne all'oggetto.
Ritornando all'eempio 1, la funzione PrintDate definita in JScript è scritta tra i marcatori <SCRIPT> e </SCRIPT> come sempre, però questa volta sono stati inclusi gli elementi LANGUAGE=JScript e RUNAT=server .
Un indubbio vantaggio che deriva dall'uso del delimitatore RUNAT di script è costituito dal fatto che il codice sorgente non è mai presente nella pagina html che viene spedita al navigatore dal server. Infatti, il sorgente viene rielaborato dal server che invia come risultato una pagina costruita "al volo" nella quale sono visibili solo i codici html e quelle funzioni per le quali non sia stato specificato il valore "server".
E' interessante notare che non è possibile utilizzare i delimitatori <% %> per definire una funzione, dato che non è possibile assegnare nomi a blocchi di codice ASP; in seguito vedremo come includere dei files utilizzando il comando <!-- #include --> .
Passiamo ora all'esame dell'oggetto Response , il quale consente di gestire l'interazione fra il server e il client. Questo oggetto possiede una serie di metodi che consentono di effettuare una serie di operazioni che avremo occasione do psservare più dettagliatamente nelle varie lezioni di cui si compone questo corso. Ecco di seguito un elenco dei metodi sopra citati:
<ul><li>AddHeader<li>AppendToLog<li>BinaryWrite<li>Clear<li>End<li>Flush<li>Redirect<li>Write</ul>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.