La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Tecnologie lato Server: Active Server Pages (ASP) © 2005 Stefano Clemente I lucidi sono in parte realizzati con materiale tratto dal libro di testo adottato.

Presentazioni simili


Presentazione sul tema: "Tecnologie lato Server: Active Server Pages (ASP) © 2005 Stefano Clemente I lucidi sono in parte realizzati con materiale tratto dal libro di testo adottato."— Transcript della presentazione:

1 Tecnologie lato Server: Active Server Pages (ASP) © 2005 Stefano Clemente I lucidi sono in parte realizzati con materiale tratto dal libro di testo adottato tradotto in italiano: © 2002 Prentice Hall H. M. Deitel, P. J. Deitel, T. R. Nieto Internet & World Wide Web – How To Program (Second Edition) Stefano Clemente

2 22 Novembre 2005Stefano Clemente2 Riferimenti bibliografici H. M. Deitel, P. J. Deitel, T. R. Nieto Internet & World Wide Web – How To Program (Second Edition) ed. Prentice Hall 2002 Capitolo 24, 25, 26

3 22 Novembre 2005Stefano Clemente3 Introduzione Active Server Pages (ASP) è una tecnologia Microsoft per la creazione di pagine web a contenuto dinamico Attraverso ASP è possibile inviare al client XHTML, controlli ActiveX, Script, Applet asp.dllI documenti ASP sono elaborati da un “motore” per lo scripting chiamato asp.dll ASP permette l’utilizzo di script − dal lato client − dal lato server per la creazione dei contenuti dinamici Il linguaggio di scripting più usato con ASP è VBScript, ma è possibile utilizzare anche JavaScript

4 22 Novembre 2005Stefano Clemente4 Funzionamento di ASP scripting engineLe pagine ASP sono elaborate da una componente ActiveX detta scripting engine asp.dllLo scripting engine è la dll (Dynamic Link Library) asp.dll.aspI file ASP hanno estensione.asp e contengono − tag XHTML − script Quando un client fa richiesta di una pagina ASP, il server, attraverso lo scripting engine − carica in memoria la pagina − la analizza dall’alto verso il basso − interpreta le parti di script mano mano che le incontra − invia il risultato al client

5 22 Novembre 2005Stefano Clemente5 Oggetti ASP oggettiASP dispone di diversi oggetti per offrire ai programmatori metodi diretti per comunicare con i browser raccogliendo i dati dalle richieste HTTP e distinguendo gli utenti − Request − Request – è l’oggetto usato per accedere alle informazioni GETPOSTpassate con una GET o con una POST memorizzate nei cookie di tipo binario (es. upload di file) − Response − Response – invia informazioni al client (XHTML, testo, ecc.) − Server − Server – fornisce l’accesso ai metodi e alle proprietà sul server

6 22 Novembre 2005Stefano Clemente6 Esempio 1 <% ' TecnInt26.ppt - Esempio 1: esempio1.asp ' TecnInt26.ppt - Esempio 1: esempio1.asp Option Explicit Option Explicit%> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Esempio 1 Esempio 1 td { background-color: black; td { background-color: black; color: yellow } color: yellow } strong { font-family: arial, sans-serif; strong { font-family: arial, sans-serif; font-size: 14pt; color: blue } font-size: 14pt; color: blue } p { font-size: 14pt } p { font-size: 14pt }

7 22 Novembre 2005Stefano Clemente7 Esempio 1 Esempio 1 Esempio 1

8 22 Novembre 2005Stefano Clemente8 Esempio 1 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Esempio 1 Esempio 1 td { background-color: black; td { background-color: black; color: yellow } color: yellow } strong { font-family: arial, sans-serif; strong { font-family: arial, sans-serif; font-size: 14pt; color: blue } font-size: 14pt; color: blue } p { font-size: 14pt } p { font-size: 14pt } Esempio 1 Esempio 1 lunedì 8 dicembre 2003 lunedì 8 dicembre

9 22 Novembre 2005Stefano Clemente9 Form ASP è utilizzato per elaborare i dati immessi da un utente in una form I dati possono essere immessi dall’utente, inviati al server, elaborati e restituiti al client con un formato diverso Un possibile scenario è quello in cui.asp POST − il documento che contiene la form ha l’attributo action che specifica il documento.asp verso il quale eseguire la POST POST Request − il documento verso il quale viene eseguita la POST usa gli oggetti Request per reperire i dati della form

10 22 Novembre 2005Stefano Clemente10 Esempio 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Name Request Name Request Enter your name: Enter your name: value = "Enter" />

11 22 Novembre 2005Stefano Clemente11 Esempio 2 <% ' TecnInt16 - Esempio 2 : esempio2.asp ' TecnInt16 - Esempio 2 : esempio2.asp ' Another simple ASP example ' Another simple ASP example Option Explicit Option Explicit%> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Name Information Name Information p { font-family: arial, sans-serif; p { font-family: arial, sans-serif; font-size: 14pt; color: navy } font-size: 14pt; color: navy }.special { font-size: 20pt; color: green }.special { font-size: 20pt; color: green } Hi, Hi, Welcome to ASP! Welcome to ASP!

12 22 Novembre 2005Stefano Clemente12 Esempio 2

13 22 Novembre 2005Stefano Clemente13 File System Objects (FSO) FSO permettono di manipolare file, directory e drive Consentono di leggere e scrivere del testo Microsoft Script Runtime LibraryFSO sono oggetti della Microsoft Script Runtime Library − FileSystemObject FileFolderDrive − FileSystemObject – permette all’utente di interagire con File, Folder e Drive fornisce metodi per creare directory, spostare file, determinare se un Drive esiste, ecc. − File − File – permette di raccogliere informazioni sui file, manipolarli, aprirli, ecc. − Folder − Folder – permette all’utente di raccogliere informazioni sulle directory e di manipolarle − Drive − Drive – permette di raccogliere informazioni sui drive − TextStream − TextStream – permette di manipolare file di testo

14 22 Novembre 2005Stefano Clemente14 Metodi dell’oggetto FileSystemObject MetodoDescrizione CopyFile Copia un file CopyFolder Copia una directory CreateFolder Crea e restituisce una directory CreateTextFile Crea e restituisce un file di testo DeleteFile Elimina un file DeleteFolder Elimina una directory DriveExists Restituisce un valore booleano che indica se un drive esiste FileExists Restituisce un valore booleano che indica se un file esiste FolderExists Restituisce un valore booleano che indica se una directory esiste GetAbsolutePathNa me Restituisce una stringa contenente il path assoluto

15 22 Novembre 2005Stefano Clemente15 Metodi dell’oggetto FileSystemObject MetodoDescrizione GetDrive Restituisce il drive specificato GetDriveName Restituisce il nome del drive GetFile Restituisce il file specificato GetFileName Restituisce il nome del file GetFolder Restituisce la directory specificata GetParentFolder Name Restituisce il nome della directory genitore GetTempName Crea e restituisce una stringa contenente un nome di file MoveFile Sposta un file MoveFolder Sposta una directory OpenTextFile Apre un file esistente e restituisce un TextStream

16 22 Novembre 2005Stefano Clemente16 Proprietà dell’oggetto File ProprietàDescrizione DateCreated Data di creazione del file DateLastAcces sed Data dell’ultimo accesso al file DateLastModif ied Data dell’ultima modifica al file Drive Drive in cui il file è situato Name Stringa contenente il nome del file ParentFolder Stringa contenente il nome della directory genitore Path Stringa contenente il path del file ShortName Stringa contenente il nome corto del file Size Variant con i byte del file

17 22 Novembre 2005Stefano Clemente17 Metodi dell’oggetto File MetodoDescrizione Copy Copia il file Delete Elimina il file Move Sposta il file OpenAsTextStrea m Apre un file esistente come file di testo e restituisce TextStream

18 22 Novembre 2005Stefano Clemente18 Proprietà dell’oggetto Folder ProprietàDescrizione Attributes Intero che indica gli attributi della directory (sola- lettura, nascosta, ecc.) DateCreated Data di creazione della directory DateLastAccessed Data dell’ultimo accesso alla directory DateLastModified Data dell’ultima modifica della directory Drive Il drive in cui si trova la directory IsRootFolder Booleano che indica se la directory è la radice Name Stringa contenente il nome della directory ParentFolder Directory genitore Path Stringa contenente il path della directory ShortName Stringa contenente il nome corto della directory ShortPath Stringa contenente il path corto della directory Size Variant con i byte di tutte le sottodirectory e file Type Stringa contenente il tipo della cartella

19 22 Novembre 2005Stefano Clemente19 Metodi dell’oggetto Folder MetodoDescrizione Delete Elimina la directory Move Sposta la directory Copy Copia la directory

20 22 Novembre 2005Stefano Clemente20 Proprietà dell’oggetto Drive ProprietàDescrizione AvailableSpace Variant contenente lo spazio disponibile nel drive DriveLetter Stringa contenente la lettera assegnata al drive DriveType Intero contenente il tipo del drive – costanti Unknown, Removable, Fixed, Remote, CDRom e RamDisk FileSystem Stringa contenente la descrizione del file system del drive (FAT, FAT32, NTFS, ecc) FreeSpace Variant contenente lo spazio disponibile nel drive IsReady Booleano che indica se il drive è pronto per l’uso Path Stringa contenente il path del drive RootFolder La directory root del drive SerialNumber Long contenente il serial number del drive TotalSize Variant contenente la capacità del drive VolumeName Stringa contenente il nome del volume del drive

21 22 Novembre 2005Stefano Clemente21 Proprietà dell’oggetto TextStream ProprietàDescrizione AtEndOfLine Booleano che indica se è stata raggiunta la fine di una riga AtEndOfStream Booleano che indica se è stata raggiunta la fine del file Column Colonna relativa al punto di immissione/lettura Line Riga relativa al punto di immissione/lettura

22 22 Novembre 2005Stefano Clemente22 Metodi dell’oggetto TextStream MetodoDescrizione Read Restituisce una stringa contenente il numero di caratteri richiesto ReadAll Stringa contenente l’intero file ReadLine Stringa contenente una riga del file Write Scrive una stringa sul file WriteBlankLines Scrive dei new line WriteLine Scrive una riga nel file Skip Salta il numero specificato (variant) di caratteri SkipLine Salta una riga di caratteri Close Chiude il file

23 22 Novembre 2005Stefano Clemente23 Esempio 3 <% ' Fig : guestbook.asp ' Demonstrating File System Objects ' Demonstrating File System Objects Option Explicit Option Explicit%> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> GuestBook Example GuestBook Example hr { size: 1; color: blue } hr { size: 1; color: blue } table { text-align: center } table { text-align: center } td { font-size: 12pt } td { font-size: 12pt } p { font-size: 14pt; color: blue } p { font-size: 14pt; color: blue }.font { font-family: arial, sans-serif }.font { font-family: arial, sans-serif }

24 22 Novembre 2005Stefano Clemente24 Esempio 3 <% Dim fileObject, textFile, guestBook, mailtoUrl Dim fileObject, textFile, guestBook, mailtoUrl ' get physical path for this ASP page and ' get physical path for this ASP page and ' concatenate guestbook.txt to it ' concatenate guestbook.txt to it guestbook = Request.ServerVariables( "APPL_PHYSICAL_PATH" ) _ guestbook = Request.ServerVariables( "APPL_PHYSICAL_PATH" ) _ & "\esempio3.txt" & "\esempio3.txt" ' instantiate a FileSystemObject ' instantiate a FileSystemObject Set fileObject = Server.CreateObject( _ Set fileObject = Server.CreateObject( _ "Scripting.FileSystemObject" ) "Scripting.FileSystemObject" ) ' check if this request is after the user has posted the form ' check if this request is after the user has posted the form If Request( "hiddenInput" ) = "true" Then If Request( "hiddenInput" ) = "true" Then ' print a thank you ' print a thank you Call Response.Write( "Thanks for your entry, " & _ Call Response.Write( "Thanks for your entry, " & _ Request( "username" ) & "!" ) Request( "username" ) & "!" )%>

25 22 Novembre 2005Stefano Clemente25 Esempio 3 <% ' build the mailtoUrl ' build the mailtoUrl mailtoUrl = Date() & " " & Request( "username" ) & " : " & ">" & Request( "username" ) & " : " ' open the guestbook, 8 is for appending ' open the guestbook, 8 is for appending ' create the guestbook if it does not exist ' create the guestbook if it does not exist Set textFile = _ Set textFile = _ fileObject.OpenTextFile( guestbook, 8, True ) fileObject.OpenTextFile( guestbook, 8, True ) ' write data to guestbook.txt ' write data to guestbook.txt Call textFile.WriteLine( " " & mailtoUrl & _ Call textFile.WriteLine( " " & mailtoUrl & _ Request( "comment" ) ) Request( "comment" ) ) Call textFile.Close() Call textFile.Close() End If End If%> Append-mode Crea il file se non esiste

26 22 Novembre 2005Stefano Clemente26 Esempio 3 Please leave a message in our guestbook. Please leave a message in our guestbook. Your Name: Your Name: name = "username" /> Your address: Your address: value = /> Tell the world: Tell the world: