| Consigli PC  |

 

 

 ITALIA UMTS

Flying in the net!

black.gif (50 bytes)
 

www.calshop.biz

 
 

Italia UMTS nasce da una idea del team di calshop.biz e vuole essere nella rete un punto di riferimento nel settore dell'informazione e.
© 2002 - 2004 ItaliaUMTS Powered by calshop  -  All Rights Reserved.

 
black.gif (50 bytes)
 

Google
 
Web www.calshop.biz
 


Asp: la guida introduttiva

1 | 2 | 3 | 4 

ASP: la guida introduttiva

Capitolo 2 - gli elementi di ASP

   2.0   Fare scripting con ASP
   
2.1   Server Side Include
   
2.2   Struttura di una pagina ASP
   
2.3   La fase di scripting e gli oggetti built-in
   
2.4   Gli oggetti ActiveX
   2.5   Una pagina esemplificativa

2.0 - Fare scripting con ASP

ASP permette di integrare due tipi di elementi distinti all'interno di una pagina: elementi di scripting, che saranno eseguiti sul server, ed elementi di testo semplice, che verranno invece inviati inalterati al client senza essere processati dal server. Gli elementi di scripting sono distinti dal resto della pagina che li contiene in quanto racchiusi tra i due tag speciali <% e %>. Questa non è comunque l'unica maniera di includere uno script in una pagina ASP. E' altresì possibile usare una sintassi del tipo:

<script language="JScript" runat="server">
// corpo dello script
</script>

La sintassi utilizzata in questo caso ricorda molto da vicino quella necessaria per inserire script client-side in una qualsiasi pagina HTML. L'unica cosa che rende distinta la dichiarazione di uno script di questo tipo da quella relativa allo scripting client-side risiede nell'attributo runat="server" aggiunto al classico tag <script>. Il vantaggio dell'utilizzare questa sintassi sta nel fatto di poter selezionare l'utilizzo di più linguaggi di scripting all'interno di una stessa pagina, a differenza di <% e %> che invece possono inglobare solamente script realizzati con il linguaggio specificato alla prima riga del codice (<%@ LANGUAGE = JScript %>, ad esempio) oppure con il linguaggio predefinito nel caso di assenza di questa riga (solitamente questo è VBScript). Non si fermano comunque qui le differenze delle due distinte sintassi. Oltre ad una differenza che non tratteremo relativamente all'ambito di visibilità delle variabili, c'è da dire che <% e %>, per quanto limitati dal fatto di poter contenere script di un solo linguaggio, hanno una migliore integrazione con le parti di testo semplice.
In ogni caso i due elementi costitutivi di una pagina ASP non sono separati in due parti distinte del codice, anzi, spesso si ritrovano profondamente mescolati tra di loro. Per rendere meglio il concetto si consideri la seguente 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>

Questa pagina si limita a stampare, in output HTML, 10 righe numerate. Si osservi però la struttura mediante la quale è stato realizzato il tutto: codice JScript eseguibile sul server e codice HTML da inviare al browser si autocompenetrano, e questo è possibile proprio grazie alle caratteristiche offerte dall'uso di <% e %>. Si noti poi anche l'utilizzo della forma abbreviata <%=i%>, del tutto equivalente a <% Response.Write(i); %>, ma molto più semplice e veloce da digitare e da rileggere in seguito, specie in questi casi di codice HTML intervallato da parti JScript.

2.1 - Server Side Include

Questa panoramica iniziale su ASP non sarebbe completa senza accennare alla libreria dei comandi Server Side Include (SSI) e al più importante di essi: #include. I comandi SSI si presentato a prima vista come dei semplici commenti HTML, se non per il fatto che rispettino sempre la seguente sintassi:

<!--#nome_comando attributo="valore"-->

I comandi aderenti a questa sintassi, al pari degli script, vengono valutati dal server prima di essere "girati" al client. Qualora il server dovesse riuscire a riconoscere un comando per lui appetibile lo eseguirà, e solo l'output di questo comando sarà trasmesso al browser del visitatore della pagina. Il comando SSI più utilizzato in ambito ASP è, come già accennato, #include. Questo comando si comporta in maniera analoga all'omonima direttiva per il compilatore di C++:

<!--#include file="menu.htm"-->

Questa riga di codice verrà automaticamente rimpiazzata dal server con il contenuto del file menu.htm residente nella stessa cartella che contiene la pagina ASP in questione. L'utilità è evidente: grazie ad #include non sarà più necessario copiare lo stesso codice in più pagine in quanto questo potrà essere tranquillamente conservato in un unico file esterno. Una modifica su questo file, poi, si rifletterà automaticamente su tutte le pagine che lo includono. Le applicazioni base sono due, una relativa alla parte HTML di una pagina ASP, l'altra relativa alla parte di puro scripting. Nel primo caso, infatti, sarà possibile ripetere lo stesso template HTML all'interno di tutte le pagine che lo includono. Si pensi ad esempio al classico caso di un menù per un sito Web: se lo stesso menù deve presentarsi su 200 pagine distinte sarà sicuramente più conveniente includerlo in esse mediante SSI che non con il classico copia-incolla del codice. Un'aggiornamento sul file contenente questo menù, poi, aggiornerà automaticamente il menù di tutte le pagine del sito. La praticità è notevole. #include, comunque, non si limita ad integrare solo HTML: con esso è possibile inserire ogni tipo di file all'interno di una pagina, e quindi anche script server-side contenenti magari delle funzioni standard da utilizzare in più pagine. Torneremo poi sull'argomento più avanti, per ora questo è tutto quello che occorre sapere.

2.2 - Struttura di una pagina ASP

Riassumendo allora quanto detto sino ad ora possiamo concludere che una classica pagina ASP può essere formata da quattro distinti elementi: la dichiarazione del linguaggio di scripting utilizzato (se presente deve necessariamente essere la prima riga del file), i comandi SSI, gli script eseguibili sul server e le parti "semplici" da inviare invariate al client. Imparare a programmare con ASP significa avere padronanza di questi elementi e saperli dosare in un giusto mix.

2.3 - La fase di scripting e gli oggetti built-in

La parte sulla quale si focalizzerà maggiormente l'attenzione in questa guida è quella relativa allo scripting. Le possibilità offerte da ASP sono molteplici. Nel caso dello scripting client-side il browser mette a disposizione del linguaggio diversi oggetti relativi a quel dato ambito, come ad esempio l'oggetto navigator per rilevare quale sia il browser in uso. Analogamente ASP mette a disposizione del linguaggio di scripting 5 diversi oggetti che, grazie ai loro metodi, consentono il controllo del server e della comunicazione server-client. Questi 5 oggetti particolari, che sono detti oggetti built-in, vengono automaticamente istanziati all'inizio dell'esecuzione di ogni pagina. Questi sono:

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

2.4 - Gli oggetti ActiveX

Il linguaggio di scripting e gli oggetti built-in nulla potrebbero in ASP senza poggiarsi su oggetti esterni, che in questo ambito sono definiti secondo la tecnologia ActiveX, in grado di assolvere a quei compiti che non vengono svolti in maniera nativa. Né JScript né VBScript, ad esempio, permettono di per sé di leggere o di scrivere file di testo sul server, così come non forniscono nella loro definizione base la connettività con i database. Questi compiti, quindi, vengono svolti attraverso il ricorso ad oggetti esterni di tipo ActiveX. Questi oggetti sono da considerarsi a se stanti e non facenti parte dell'architettura di ASP. Molti di questi, comunque, sono considerati standard e vengono installati su una macchina insieme al server stesso. Saranno questi gli oggetti ActiveX ai quali faremo riferimento nel corso della guida. Per ogni compito di natura non generale sarà poi sempre possibile rintracciare un componente ActiveX in grado di renderne possibile l'attuazione, o sarà addirittura possibile realizzarne uno apposito in C++ o in Visual Basic, volendo. Questa è l'ideologia su cui si basa ASP. Il linguaggio di scripting altro non è che una manierà di coordinare e rendere efficaci gli oggetti built-in e i componenti ActiveX. Al momento di applicare le nozioni ricevute ci si accerti sempre degli oggetti ActiveX disponibili sul server che si sta utilizzando, non è detto che questi siano quelli standard.

2.5 - Una pagina esemplificativa

La pagina ASP qui di seguito rappresentata vuole essere di esempio a quanto detto in questo capitolo della guida. Non si pretende che il lettore conosca l'esatto utilizzo degli oggetti ai quali si farà ricorso, che saranno invece ampliamente trattati di seguito. L'intenzione è quella di realizzare un contatore da includere poi mediante il comando #include di SSI all'interno di una qualsiasi pagina ASP.
Si realizzi la seguente pagina ASP, che potrà essere denominata index.asp:

<%@ LANGUAGE = JScript %>
<html>
<head><title>Benvenuto!</title></head>
<body>
<center>
<h1>Benvenuto nel mio sito!</h1>
Sei il visitatore numero
<b><!--#include file="contatore.inc"--></b>
</body>
</html>

Come si può notare index.asp include in se stessa il file contatore.inc. L'estenzione .inc è quella raccomandata per tutti i file realizzati al solo scopo di essere inclusi e non in grado di essere eseguiti in maniera a se stante. Questa è solo una convenzione alla quale può risultare pratico sottostare. Cambiando l'estensione del file il risultato rimane comunque lo stesso. Si vada ora a realizzare un semplice file di testo nominato conteggio.txt e contenente il solo numero 0. Si salvi infine il codice sotto riportato come contatore.inc:

<%

var file_di_testo = Server.MapPath("conteggio.txt");

var fobj = new ActiveXObject("Scripting.FileSystemObject");

var in_stream = fobj.OpenTextFile(file_di_testo);

var stringa_cifra = in_stream.ReadLine();

in_stream.Close();

var intero_cifra = parseInt(stringa_cifra);

intero_cifra++;

var out_stream = fobj.CreateTextFile(file_di_testo);

out_stream.WriteLine(intero_cifra);

out_stream.Close();

Response.Write(intero_cifra);

%>

Si raccolgano i tre file in una sola cartella sul server che abbia abilitati i permessi in lettura/scrittura. Con IIS o PWS solitamente tutte le cartelle godono di questo vantaggio, ma alcuni spazi gratuiti restringono i permessi ad una sola cartella, nominata il più delle volte dati. Si leggano le FAQ relative al proprio spazio Web per saperne di più in merito. Si carichi quindi con il browser la pagina index.asp e la si aggiorni più volte per vedere il contatore incrementarsi. Si tornerà sull'architettura di questo codice non appena saranno trattati in maniera esaustiva gli oggetti build-in e l'ActiveX denominato Scripting.FileSystemObject.

Home Page

1 | 2 | 3 | 4 

 
Trucchi PC e Guide
Tips su sistemi operativi, registro di configurazione, sicurezza, internet, navigazione, word ed excel. ................ ....
 

Guide e sulla configurazione, installazione ed utilizzo di, periferiche, sistemi operativi ecc... .............................................................


 

 
 
Halloween  
Halloween Online

Utenti on line

Ultimo aggiornamento giugno 2005