Web applications con breve introduzione
Cosa ci serve conoscere Client -server Html Http
Architettura Client-Server In questa architettura c'è uno scambio di risorse tra due dispositivi: il client e il server Il client richiede le risorse Il server è il dispositivo che mette a disposizione le risorse
Html HyperText Markup Language (HTML) Linguaggio per la formattazione degli ipertesti basato su Tag (marcatori) <html> <head> <title>moltiplichiamo due numeri</title> </head> <body> <h1>testata di livello 1</h1> <h2>testata di livello 2</h2> <h3>testata di livello 3</h3> <p> <input id="text1" type="text" /></p> <p> <input id="button1" type="button" value="button" onclick="return Button1_onclick()" /></p> <p id="p1">nessun calcolo effettuato</p> </body> </html>
Http HyperText Transfer Protocol (HTTP) protocollo di trasferimento di un ipertesto E' il meccanismo attraverso il quale gli ipertesti vengono trasmessi.
Chi fa cosa? Nel caso dei server Web il server mette a disposizione il contenuto html e multimediale (ipertesto) tramite uno specifico software. Il client chiede al server la pagina e la visualizza nello schermo dell'utente tramite un altro software.
Quale è il SW del Server web? Nei sistemi operativi windows è Internet Information Services (IIS) Nei sistemi Linux frequentemente è Apache
Quale è il SW client? Il client è il nostro computer, palmare o qualsiasi altro dispositivo possa visualizzare l'html. Il software client è il browser
Il software lato client è il browser Web Il client fa le richieste al server
Contenuto statico e dinamico Statico: se il server web ospita esclusivamente pagine html, tutti coloro che visitano le pagine troveranno sempre lo stesso contenuto, come se sfogliassero le pagine dello stesso libro. Dinamico: alcuni server possono invece generare i contenuti html da spedire al client subito prima dell'invio.
Cos'è ASP.NET (Active Server Pages) E' un linguaggio della famiglia.net microsoft Permette la creazione di siti web dinamici che possono realizzare molte delle caratteristiche di una applicazione (un programma) che gira nel mio computer. Per questo si parla di web applications
Come funziona ASP.NET
Esempio zero con ASP.NET e VB In Visual Web Developer creiamo un webform con una label
La pagina dinamica Ogni volta che la pagina viene creata dal server devono essere visualizzati la data e l'ora correnti
Nel codice VB Ricordando VB: quando viene caricata la pagina si verifica l'evento Load (Page_load) Visualizzo nell'etichetta (LabelDataEOra) la data e l'ora correnti (tramite la funzione Now)
La pagina è dinamica? Sì: ogni volta che viene creata dal server viene ricreata e vengono aggiunti la data e l'ora correnti
Pensiamo in grande E se il nostro server prima di costruire il contenuto html potesse dinamicamente interrogare un database per visualizzarne i contenuti? Con ASP.net lo possiamo fare Con ASP.net lo
ADO.NET ActiveX Data Objects ADO.NET ci permette di interagire con i databases A noi serve la possibilità di eseguire una query SQL L'oggetto che ci serve è il Command
Queries DDL Se la query è una DDL, ad esempio la creazione di una tabella, il command la manderà in esecuzione e stop. La proprietà CommandText è il codice SQL da eseguire Per mandarlo in esecuzione utilizzo il metodo ExecuteNonQuery() mycommand.commandtext = "CREATE TABLE tbltest (idtest INTEGER, Nome CHAR(50), Data DATETIME)" mycommand.executenonquery()
Queries DML Se la query è una DML (ad esempio un DELETE FROM) potrebbe essere utile sapere quanti record sono stati modificati mycommand.commandtext = "DELETE * FROM tbltest WHERE idtest < 5" NRecordCAncellati=myCommand.ExecuteNonQuery()
QL: Datareader Se la nostra query è una QL ci aspettiamo che il risultato della sua esecuzione sia... Una nuova tabella con record che ci interessano! Questa nuova tabella è il Datareader Il metodo che estrae la tabella dal command è ExecuteReader mycommand.commandtext = SELECT * FROM Clienti WHERE IDCliente > 2 mydatareader = mycommand.executereader