610 likes | 771 Views
LE PAGINE ASP. (Active Server Pages). TECNOLOGIE DI SCRIPT. L’integrazione di HTML con CSS e linguaggi di scripting, come JavaScript, JScript o VBScript, permette di creare pagine Web interattive e dinamiche.
E N D
LE PAGINE ASP (Active Server Pages)
TECNOLOGIE DI SCRIPT L’integrazione di HTML con CSS e linguaggi di scripting, come JavaScript, JScript o VBScript, permette di creare pagine Web interattive e dinamiche. Gli script, a seconda di dove vengono eseguiti vengono detti script lato client o script lato server. Le pagine ASP - Cristina Fregni
Script lato client Vengono interpretati ed eseguiti nel browser, installato sul computer del client, quando il browser stesso preleva la pagina web. Il codice di scripting, inserito nel codice HTML, è contrassegnato dai tag <SCRIPT> e </SCRIPT>. In particolare: • il browser richiede una pagina al server • il server invia la pagina al browser • il browser invia la pagina al motore di script • il motore interpreta ed esegue lo script • il browser visualizza la pagina Le pagine ASP - Cristina Fregni
Script lato server Sono utilizzati per aggiungere interattività alle pagine web e permettono di interagire con altri programmi residenti sul server. Gli script fanno parte della pagina, ma vengono eseguiti sul server. Al browser viene inviato solo codice HTML, quindi il codice sorgente non compare mai. In particolare: • il browser richiede una pagina al server • il server invia lo script al motore • il motore interpreta ed esegue lo script • il server invia la pagina di risposta al browser in formato HTML • il browser visualizza la pagina Le pagine ASP - Cristina Fregni
Active Server Pages E’ una tecnologia software per la realizzazione di applicazioni distribuite, adottata da Microsoft, che sfrutta le potenzialità degli strumenti server dedicati alla connettività e delle risorse che il server Microsoft ha a disposizione compresi i linguaggi di scripting. ASP quindi non è un linguaggio di programmazione, né di scripting, ma una tecnologia lato server. Le pagine ASP - Cristina Fregni
Caratteristiche delle ASP • hanno estensione .asp • sono integrate con i file HTML • i tag <% e %> racchiudono la parte di codice che deve essere elaborata dal server • non necessitano di compilazione • sono orientate agli oggetti e usano componenti server ActiveX Affinché il codice ASP venga interpretato occorre disporre di un Web server Microsoft che supporti le pagine, ad esempio IIS (Internet Information Services). Le pagine ASP - Cristina Fregni
GLI OGGETTI INTERNI DI ASP Le pagine ASP - Cristina Fregni
L’oggetto RESPONSE Si usa per comunicare informazioni dal server al client. Possiede molte proprietà, metodi e collection. La sua sintassi è: Response.Collection/Proprietà/Metodo • Esempio n. 1 Le pagine ASP - Cristina Fregni
L’oggetto REQUEST Si usa per recuperare informazioni di vario genere, sia dal client che dal server stesso. Possiede diverse collection, una proprietà e un metodo. La sua sintassi è: Request.[Collection/Proprietà/Metodo] (Parametro) Parametro è una stringa che specifica il valore da utilizzare in una Collection o che deve essere usata come input per un metodo o una proprietà. • Esempio n. 2 Le pagine ASP - Cristina Fregni
Le principali variabili d’ambiente sono: Le pagine ASP - Cristina Fregni
L’oggetto SESSION Permette di mantenere sul server lo stato per i singoli utenti. Per ogni singola sessione HTTP di un utente viene associato uno spazio di memoria nel server. Viene creato quando un utente richiede una nuova pagina ASP e viene distrutto dopo un periodo di timeout fissato sul server. Le pagine ASP - Cristina Fregni
L’oggetto APPLICATION Viene usato per mantenere informazioni per l’intero sito web. Tutti gli utenti e le applicazioni accedono all’unico oggetto Application esistente. Viene creato sul server all’avvio del servizio WWW ed è distrutto alla sua chiusura. Le pagine ASP - Cristina Fregni
L’oggetto SERVER Fornisce proprietà e metodi fondamentali per l’accesso alle risorse del server. Le pagine ASP - Cristina Fregni
L’oggetto ASPError E' usato per visualizzare informazioni dettagliate su qualsiasi errore in uno script. L'oggetto viene creato quando si richiama il metodo Server.GetLastError(). Le pagine ASP - Cristina Fregni
Il Linguaggio VBScript E’ un linguaggio di scripting, derivato dal Visual Basic, di cui conserva sostanzialmente sintassi e caratteristiche fondamentali. Per indicare che il linguaggio di script utilizzato è VBScritp si usa la direttiva: <% @ Language=VBScript %> E’ il linguaggio predefinito per le pagine ASP, quindi è possibile omettere la direttiva Language. Le pagine ASP - Cristina Fregni
Variabili Per dichiarare una variabile si utilizza l’istruzione: Dim NomeVariabile All’inizio dello script è consigliabile inserire: Option Explicit che obbliga a dichiarare tutte le variabili. Le variabili sono memorizzate in un unico tipo detto variant, che può contenere qualsiasi tipo di dato. Quando la variabile viene letta, VBScript le assegna automaticamente un tipo in funzione dei dati e del contesto. Le pagine ASP - Cristina Fregni
Costanti Il valore di una costante non può mai essere modificato. Una costante si dichiara con l’istruzione: Const NOMECOSTANTE = valore Per convenienza i nomi di costante sono scritti in maiuscolo. Le pagine ASP - Cristina Fregni
Operatori • Esempio n. 3 Le pagine ASP - Cristina Fregni
Struttura condizionale Consente di specificare una sequenza di eventi che si verifica se vengono soddisfatte determinate condizioni. La sua sintassi è: IfcondizioneThen istruzioni Else istruzioni alternative End If Le pagine ASP - Cristina Fregni • Esempio n. 4
Struttura di scelta multipla Esegue codice diverso a seconda del valore della variabile, se il valore non è previsto nella lista esegue un codice alternativo. La sintassi è: Select Casevariabile Casevalore1: istruzioni1 Case valore2: istruzioni2 … Case Else istruzioni alternative End Select Le pagine ASP - Cristina Fregni • Esempio n. 5
Strutture cicliche Permettono di eseguire ripetutamente un blocco di codice mentre una condizione è verificata o fino a quando si verifica una condizione. Sintassi: Do Whilecondizione istruzioni Loop Do istruzioni Loop Until condizione • Esempio n. 6 • Esempio n. 7 Le pagine ASP - Cristina Fregni
Struttura di ripetizione enumerativa E’ una struttura ciclica controllata da contatore. Si utilizza quando si conosce a priori quante volte eseguire il blocco La sua sintassi è: Forcontatore =Val.Iniziale ToVal.Finale [Steppasso] istruzioni Next • Esempio n. 8 Le pagine ASP - Cristina Fregni
Le Collection Una Collection è un insieme di elementi (anche di tipo differente) denominati membri. Gli oggetti-membri di una Collection: • possono essere inseriti in ordine casuale e in numero illimitato • sono generici, di vario tipo (form, controlli, oggetti di classi create dal programmatore) • sono individuati in modo univoco da un valore di tipo stringa detto chiave o da un indice intero che va da 1 al numero di elementi dell’insieme. Le pagine ASP - Cristina Fregni
La tabella seguente schematizza le proprietà e i metodi più frequenti per l’elaborazione di Collections: Le pagine ASP - Cristina Fregni
I Cookies Un cookie è un file di testo, memorizzato nell’hard disk del client, che può contenere fino a 255 caratteri. Le principali funzioni di un cookie sono: • salvare alcuni dati inseriti attraverso il browser così che, a un successivo richiamo della pagina, i dati possano essere recuperati • salvare i dati inseriti con diverse pagine con form, in modo che, nel caso di interruzione della connessione, il software che si occupa della raccolta dei dati li possa recuperare dai cookies, facendo ripartire l’utente dall’ultima pagina visitata. Le pagine ASP - Cristina Fregni
I cookies permettono quindi di mantenere lo stato dell’utente anche dopo la visita corrente. I browser associano un cookie ad ogni utente e memorizzano il file creato durante la navigazione nella cartellaCookies, inserita in un percorso di default del browser. Possono rimanere nell’hard disk del client per un tempo variabile, perché è possible definirne la scadenza e quindi la rimozione automatica. Le pagine ASP - Cristina Fregni
Secondo la tecnologia ASP, i cookies sono gestiti attraverso la collectionCookies degli oggetti Response e Request. La scrittura dei dati in un cookie nel computer client si effettua con l’istruzione: Response.Cookies(“NomeCookie”)[(“Chiave”)] =Valore • Esempio n. 9 Per leggere dati da un cookie, invece, si utilizza la seguente istruzione: Variabile = Request.Cookies(“NomeCookie”)[(“Chiave”)] • Esempio n. 10 Le pagine ASP - Cristina Fregni
Accesso ai DataBase La tecnologia ASP è nata principalmente per consentire l’interfacciamento con i DB ODBC compatibili, è possibile infatti creare, eliminare, recuperare e aggiornare dati all’interno dei DataBase. ai dati memorizzati si poteva accedere solamente con il programma che aveva creato il DB DBMS proprietari Non era possibile condividere i dati fornisce uno specifico metodo in cui i dati possono essere condivisi da programmi, S.O., protocolli di rete e piattaforme diverse Modello UDA (Universal Data Access) Le pagine ASP - Cristina Fregni
Microsoft implementa l’UDA con standard denominati: • ODBC (Open DataBase Connectivity) • OLEDB (Object Linking and Embedding DataBase) • ADO (ActiveX Data Object) Le pagine ASP - Cristina Fregni
ODBC(Open DataBase Connectivity) Permette la connessione a sistemi per la gestione di database relazionali. Per un database compatibile ODBC si può utilizzare codice applicativo identico indipendentemente dal tipo di database su cui si effettuano le operazioni. E’ quindi possibile usare un qualsiasi DBMS, ma deve essere installato il driver per l’interfaccia. Le pagine ASP - Cristina Fregni
OLEDB(Object Linking and Embedding DataBase) Si usa per l’accesso a qualsiasi DBMS anche non relazionale. Una applicazione accede al database senza la necessità di una interfacci specifica. Microsoft dispone di un provider OLEDB che si interfaccia con il driver ODBC per gestire le applicazioni di database di vecchio tipo. Le pagine ASP - Cristina Fregni
ADO(ActiveX Data Object) Tecnologia orientata agli oggetti che definisce un’interfaccia di programmazione tra una applicazione ASP, in esecuzione in un sito Web, e i sistemi per la gestione di database (DBMS). E’ possibile connettere un’applicazione anche a database non ODBC compatibili, infatti opera con qualsiasi fonte OLEDB. Funziona, quindi, con i database maggiormente utilizzati. Le pagine ASP - Cristina Fregni
OLEDB ODBC Driver del DBMS Database Schema delle Interfacce software per l’accesso a un database mediante una pagina ASP Richiesta pagina ASP www.sitoweb.com ADO Esecuzione script che richiede accesso a un database Server Web Restituzione dei risultati delle operazioni sui dati Computer client Le pagine ASP - Cristina Fregni
GLI OGGETTI DI ADO Le pagine ASP - Cristina Fregni
La connessione al DataBase L’oggetto Connection, che appartiene alla libreria dinamica ADODB del modello ADO, consente la connessione logica ad una sorgente di dati. Per creare il nuovo oggetto occore invocare il metodo CreateObject dell’oggetto Server, il nuovo oggetto viene quindi definito con la seguente sintassi: Dim NomeConnessione Set NomeConnessione = Server.CreateObject(“ADODB.Connection”) Le pagine ASP - Cristina Fregni
Per identificare il database su cui lavorare gli script ADO necessitano della specifica di un DSN (Data Source Name), cioè un file che specifichi univocamente il nome e il luogo fisico dove si trova il database. Per creare un DSN di sistema occorre avere accesso al Pannello di Controllo del computer dove risiede l’origine dei dati. In alternativa, se non si ha accesso locale al server, è possibile inserire le informazioni per la connessione all’interno di una stringa di connessione. Le pagine ASP - Cristina Fregni
Aprire la connessione Dopo aver creato il nuovo oggetto di tipo Connection si deve stabilire la connessione effettiva con il metodo Open : NomeConnessione.Open [Stringa di connessione] La stringa di connessione è opzionale in quanto prima dell’apertura della connessione è possibile usare il metodo ConnectionString dell’oggetto Connection. Occorre fare molta attenzione nella digitazione della stringa di connessione perché in essa si fa distinzione tra maiuscole e minuscole. Le pagine ASP - Cristina Fregni
La stringa di connessione è formata da una lista di coppie di Argomenti=Valori che per Access è: “DRIVER={Microsoft Access Driver (*.mdb)}; DBQ= percorsofisico\nomefile.mdb” • DRIVER: comunica all’oggetto Connection il tipo di database utilizzato nella connessione • DBQ: comunica il percorso del database sul server che deve essere un percorso fisico completo, nel caso in cui non si conosca il percorso completo occorre utilizzare Server.MapPath Le pagine ASP - Cristina Fregni
Chiudere la connessione Terminati i lavori, dopo aver chiuso la connessione, occorre deallocare la memoria associata all’oggetto Connection: NomeConnessione.Close Set NomeConnessione = Nothing Le pagine ASP - Cristina Fregni
L’accesso ai dati del DataBase Per utilizzare i dati contenuti in un database si usa l’oggetto Recordset. Un Recordset è un insieme di record che può essere costituito da tutti i record di una tabella, da un gruppo di record della tabella o dal risultato di una interrogazione. Per creare il Recordset si usa ancora il metodo CreateObject dell’oggetto Server: Dim NomeRecordset Set NomeRecordset= Server.CreateObject(“ADODB.Recordset”) Le pagine ASP - Cristina Fregni
Apertura del Recordset La creazione dell’oggetto non inserisce alcun dato in esso. Per farlo occorre utilizzare il metodo Open la cui sintassi è: NomeRecordset.Open [Source], [Connection], [CursorType], [LockType], [CommandType] • Source: stringa che contiene un comando ammesso (nome di una tabella, istruzione SQL, ecc..) • Connection: è l’oggetto o la stringa che contiene le informazioni relative alla connessione Le pagine ASP - Cristina Fregni
CursorType: definisce il modo di spostamento all’interno dei record. Il cursore serve per poter leggere un record alla volta all’interno di un Recordset. I tipi di cursore sono quattro: • Cursore di Default (adOpenForwardOnly – valore 0): permette spostamenti solo in avanti, è detto cursore idrante; • Cursore Keyset (adOpenKeyset – valore 1): è un cursore scorrevole che permette di vedere le modifiche effettuate da altri utenti e di spostarsi tra i record in avanti e indietro. Non si possono vedere i record aggiunti o eliminati da altri utenti; • Cursore dinamico (adOpenDynamic – valore 2): cursore scorrevole con cui è possibile vedere modifiche , aggiunte, cancellazioni fatte anche da altri utenti. Sono consentiti tutti i tipi di spostamento; • Cursore Statico (adOpenStatic – valore 3): ci si può spostare avanti e indietro, ma non rilevare le modifiche apportate da altri utenti. Le pagine ASP - Cristina Fregni
LockType: determina se è possibile scrivere nella tabella e in quale modo. Questa specifica è importante a causa della natura multiutente di un database online. I tipi di lock sono i seguenti: • adLockReadOnly – valore 1: i dati possono essere solo letti. E’ il valore di default; • adLockPessimistic – valore 2: i dati vengono bloccati quando qualcuno inizia ad effettuare operazioni di modifica. Si garantisce così un’assoluta integrità dei dati causando però di rallentamenti del sistema; • adLockOptimistic – valore 3: viene creato un buffer temporaneo in cui sono conservati gli aggiornamenti e le modifiche, mentre i dati originali sono ancora accessibili agli altri utenti. La protezione dei dati da modifiche di altri utenti avviene solo nel momento in cui viene lanciato un comando di aggiornamento (Update). Le pagine ASP - Cristina Fregni
CommandType: stabilisce come dovrà essere valutato il parametro Source. Se si utilizza la variabile adCmdTable si specifica che Source assumerà il valore del nome di una tabella. ASP non include tutte le costanti per l’oggetto Recordset. Pertanto, per non doverle definire ogni volta che sono necessarie, è conveniente includere all’interno delle applicazioni il file adovbs.inc, che contiene le definizioni per tutte le costanti ADO. Per includerlo l’istruzione è: <-- #include virtual=“/adovbs.inc” --> Le pagine ASP - Cristina Fregni
Popolamento del Recordset Per popolare di dati un Recordset, in alternativa al metodo Open, si può invocare il metodo Execute dell’oggetto Connection, che richiama il codice di una query in linguaggio SQL: NomeRecordset = NomeConnessione.Execute(“CodiceSQL”) Un comando SQL di selezione ha la seguente sintassi generale: SELECT Elenco Colonne FROM Elenco Tabelle [WHERE Condizione] [ORDEY BY ElencoColonne] Le pagine ASP - Cristina Fregni
Chiusura del Recordset Terminato l’uso di una tabella Recordset, l’oggetto deve essere chiuso e deallocato dalla RAM del server: NomeRecordset.Close Set NomeRecordset = Nothing Le pagine ASP - Cristina Fregni
Accesso ai campi del Recordset Un oggetto Recordset indirizza un insieme di righe/record che si può considerare una nuova tabella derivata, formata da una collezione di campi (Fields) accessibili con le sintassi alternative: NomeRecorset.Fields(“NomeColonna”) oppure NomeRecordset(“NomeColonna”) All’apertura di una nuova tabella derivata, il record attivo è sempre il primo. Le pagine ASP - Cristina Fregni