3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

Documenti analoghi
PRIMO MODULO. DURATA: 80 ore CONTENUTI

CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION

Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC

Protocolli e architetture per WIS

Prefazione... xi. Da leggere prima di iniziare...xiv. Capitolo 1 Introduzione a JavaScript Sezione A Programmazione, HTML e JavaScript...

INTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE

Tecnologie informatiche multimediali

Lezione di Basi di Dati 1 18/11/ TECNOLOGIE PER IL WEB: CGI - AJAX SERVLETS & JSP

Architetture Web I Server Web e gli Standard della Comunicazione

Architetture Web I Server Web e gli Standard della Comunicazione

Luca Tesei. Laboratorio di Sviluppo Web: Le Basi. Modulo IFTS. Fermo 31/03, 03/04, 07/ Prof. Luca Tesei Università di Camerino 1

Sommario. 1 Introduzione a SharePoint Designer 1

Prof. Pagani Corrado HTML

Corso Web Master. E' richiesta una padronanza dell'utilizzo del computer ed esperienza di navigazione su Internet.

Programma corso Master Programmatore Web

Indice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3

I.I.S. Federico II di Svevia - Melfi

Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano)

Programma Master Programmatore Java

Sommario APPUNTI WEB SERVER E PHP

Siti web centrati sui dati (Data-centric web applications)

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

La tecnologia per le applicazioni Web

IV Indice I comandi e la sintassi dei linguaggi formali Proposte di variazione sul tema Le stringhe Tipi di dato Operazioni co

Come funziona internet

Laboratorio di Progettazione Web Introduzione

Argomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON

Linee di programmazione

Indice. Prefazione. Introduzione Gli argomenti del presente volume Cosa serve per questo libro A chi si rivolge questo libro Convenzioni

Sommario. Prefazione... xvii Ringraziamenti...xxv L autore...xxvi

Corso Programmazione Java Avanzato

Corso Programmazione Java Standard

Laboratorio di Applicazioni Internet Anno Accademico 2005/2006

Applicazioni web centrati sui dati (Data-centric web applications)

Laboratorio Progettazione Web Applicazioni Web Lezione 2. Andrea Marchetti IIT-CNR 2011/2012

ICT-Progetti Offerta formativa. Catalogo corsi 2017 per i privati

Introduzione ORGANIZZAZIONE DEL LIBRO. Il libro è composto da 12 capitoli organizzati nelle tre parti seguenti:

Prefazione. Capitolo 1 Sistemi di elaborazione 1

Sommario PREFAZIONE... XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLE APPLICAZIONI JAVA...

IIS Via Silvestri ITIS Volta Programma svolto di Tecnologie Informatiche A.S. 2015/16 Classe 1 A

Corso Analista Programmatore Microsoft Corso Online Analista Programmatore Microsoft

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@ .cz

CORSO DI PROGRAMMAZIONE JAVA

I.T.I. E. MAJORANA SOMMA VESUVIANA PIANO DI LAVORO ANNUALE DEL DOCENTE ANNO SCOLASTICO 2015/2016

venerdì 31 gennaio 2014 Programmazione Web

Tecniche Multimediali

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE TRIENNIO: TERZA DISCIPLINA: INFORMATICA

Sommario. 1 La shell di Windows PowerShell... 1

Javascript e CSS nelle pagine WEB

Indice PARTE PRIMA L INIZIO 1

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base Variabili, operatori e commenti Array...

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Flavio De Paoli

Luca Tesei. Laboratorio di Sviluppo Web: Le Basi. Modulo IFTS. Fermo 31/03, 03/04, 07/ Prof. Luca Tesei Università di Camerino 1

Strutture di accesso ai dati

Prof. Pagani corrado JAVA

MVC - Principio. MVC Model View Controller. MVC - Terminologia. MVC - Funzionamento. Richiesta. Controller. Model. Risposta. View

Indice. Introduzione PARTE PRIMA PHP: I FONDAMENTI

Titolo Modulo Contenuti inc. Ore DATE Vecchie Date NUOVE TUTOR. Mario Varini un istituto scolastico.

PROGRAMMAZIONE DISCIPLINARE DIPARTIMENTALEDI INFORMATICA

:33 Pagina V. Indice. Introduzione

SISTEMI OPERATIVI, RETI, INTERNET

PROGRAMMA DEL CORSO ADOBE DREAMWEAVER CS5

D B M G Il linguaggio HTML

Port Community System del Porto di Ravenna CONFIGURAZIONE

Componenti Web: client-side e server-side

APPENDICE 4 AL CAPITOLATO TECNICO

Architetture per la comunicazione nel Web

Laboratorio di Basi di Dati

Laboratorio Progettazione Web Applicazioni Web

@2011 Politecnico di Torino 1

Tecnologie di Sviluppo per il Web Lab. di Tecnologie di Sviluppo Web

Il Paradigma REST per lo sviluppo di applicazioni Web 2.0

Istituto d Istruzione Secondaria Superiore A. Righi Taranto Informatica e Telecomunicazioni Informatica. HTML, PHP e MySQL

INTRODUZIONE AL WEB DINAMICO

CURRICULUM VITAE. Dati personali. Istruzione. Conoscenze informatiche

Sviluppo Apps e Giochi per Facebook

Architetture per le applicazioni web-based. Mario Cannataro

Indice. Introduzione. Capitolo 1

Indice. Prefazione. 3 Oggetti e Java 53

Web applications (WA)

TESI DI LAUREA IN INFORMATICA

Indice. Introduzione PARTE PRIMA PRELUDIO: SERVIZIO CON SORRISO 1

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Le mie immagini su WEB: l ABC per iniziare. 6 maggio 2008

Programmazione per il Web Riassunto della lezione del 29/02/2016

Attività Didattica Svolta

Introduzione al linguaggio Java: Servlet e JSP

Modulo o Form in Html

Corso Online. We Train Italy

Stack protocolli TCP/IP

Introduzione alla programmazione Web

QGIS e Geoservizi. Paolo Zatelli. Dipartimento di Ingegneria Civile, Ambientale e Meccanica Università di Trento

Architetture Web: un ripasso

Introduzione. Un approccio differente

Tecnologie di Sviluppo per il Web

MODULO DI ALTERNANZA SCUOLA-LAVORO

Programmare server. Programmazione Web 1

Transcript:

IIndice Capitolo 1 Da dove partiamo: pagine web statiche 1 1.1 Principi di base.............................. 1 1.1.1 Il paradigma client-server.................... 1 1.1.2 Ipertesto, multimedia, ipermedia................ 1 1.1.3 Il web come documento ipermediale distribuito........ 2 1.2 URI: Uniform Resource Identifier.................... 3 1.3 Il protocollo HTTP............................ 4 1.4 Il client per il Web............................ 4 1.4.1 Funzioni del browser....................... 4 1.4.2 Programmazione client-side................... 5 1.5 I linguaggi per le pagine web...................... 7 1.6 XML: extensible Markup Language................... 7 1.6.1 Il markup............................. 7 1.6.2 XML come metalinguaggio.................... 9 1.6.3 Caratteristiche sintattiche.................... 9 1.6.4 Ben formatezza dei documenti XML.............. 11 1.6.5 Costruire linguaggi di markup.................. 12 1.6.6 Tecnologie e applicazioni basate su XML............ 20 1.7 XHTML: extensible HyperText Markup Language........... 21 1.7.1 Caratteristiche delle pagine web................ 21 1.7.2 Storia di XHTML......................... 21 1.7.3 I moduli di XHTML 1.1...................... 22 1.7.4 Conformità delle pagine web.................. 22 1.7.5 Due attributi particolari..................... 23 1.7.6 Il contenuto degli elementi................... 23 1.7.7 La struttura base del documento................ 24 1.7.8 Il testo............................... 24 1.7.9 L ipertesto............................. 26 1.7.10 Le immagini............................ 26 1.7.11 Liste ed elenchi.......................... 27 1.7.12 I moduli di input......................... 29 1.7.13 Le tabelle............................. 33 1.7.14 Collegamento ai fogli di stile.................. 36 1.7.15 Altri elementi di XHTML..................... 37

vi Indice 1.8 Cascading Style Sheets (CSS)...................... 37 1.8.1 Principi di base dei CSS..................... 38 1.8.2 Eredità delle proprietà...................... 39 1.8.3 Lo spazio di presentazione: il canvas.............. 39 1.8.4 Sintassi generale dei CSS.................... 39 1.8.5 Raggruppare le dichiarazioni.................. 41 1.8.6 I selettori............................. 41 1.8.7 I valori delle proprietà...................... 44 1.8.8 Le proprietà............................ 47 1.8.9 Il box model........................... 50 1.8.10 Il posizionamento degli elementi................ 53 1.8.11 Un esempio per concludere: un foglio di stile per XML.... 54 Capitolo 2 Dove vogliamo arrivare: siti web dinamici 59 2.1 Il server web............................... 59 2.2 Il protocollo HTTP............................ 61 2.2.1 La richiesta HTTP......................... 61 2.2.2 La risposta HTTP......................... 63 2.2.3 Le intestazioni.......................... 65 2.2.4 I cookie.............................. 66 2.3 L interazione con l utente nelle applicazioni web............ 67 2.3.1 Generare pagine dinamiche................... 68 2.3.2 I form (X)HTML......................... 69 2.3.3 GET e POST............................ 70 2.4 Tecnologie lato server.......................... 71 2.4.1 Common Gateway Interface (CGI)............... 71 2.4.2 Scripting lato server....................... 73 2.4.3 Java Enterprise Edition...................... 74 2.4.4 Microsoft.NET.......................... 77 2.5 I sistemi di gestione del contenuto................... 78 2.5.1 CMS e XML............................ 79 2.5.2 Una famiglia particolare di CMS: Wiki............. 79 Capitolo 3 Il linguaggio di scripting PHP 81 3.1 Introduzione............................... 81 3.2 Inserire il codice PHP nelle pagine web................. 81 3.3 Sintassi del linguaggio.......................... 82 3.3.1 Le istruzioni............................ 82 3.3.2 Le variabili............................ 84 3.3.3 I tipi di dato............................ 86 3.3.4 Le costanti............................ 90 3.3.5 Le espressioni........................... 91

Indice vii 3.3.6 Gli operatori........................... 91 3.3.7 Le funzioni di accesso al tipo.................. 95 3.3.8 Le strutture di controllo..................... 96 3.3.9 Le funzioni............................ 101 3.3.10 Variabili globali e superglobali................. 103 3.4 Tecniche specifiche............................ 103 3.4.1 Generazione dinamica delle pagine............... 103 3.4.2 Passaggio di dati alle pagine................... 104 3.4.3 Intestazioni HTTP........................ 107 3.4.4 I cookie.............................. 109 3.4.5 Le sessioni............................. 110 3.4.6 Inclusione di file......................... 111 3.5 Librerie di funzioni............................ 112 3.5.1 La libreria filesystem....................... 112 3.5.2 La libreria MySQL........................ 114 3.5.3 Le funzioni sulle stringhe.................... 116 3.6 Caso di studio 1: una galleria di immagini............... 117 3.6.1 Il problema............................ 118 3.6.2 La struttura dell applicazione: parte di visualizzazione.... 119 3.6.3 La pagina indice......................... 119 3.6.4 Funzioni di utilità e file di configurazione........... 122 3.6.5 Pagina di visualizzazione..................... 124 3.6.6 Inserimento di nuove immagini................. 125 3.7 Caso di studio 2: un blog......................... 128 3.7.1 Il problema............................ 128 3.7.2 La struttura dell applicazione.................. 129 3.7.3 La pagina principale....................... 129 3.7.4 La pagina di inserimento post.................. 131 3.7.5 La pagina di archivio....................... 134 3.7.6 Il file di configurazione...................... 135 3.7.7 La memorizzazione dei post................... 136 3.7.8 Le funzioni di gestione dei post................. 137 3.7.9 Lo stile.............................. 140 3.7.10 Dal file al database........................ 142 3.7.11 Lo schema del database..................... 143 3.7.12 Le nuove funzioni per il database................ 143 3.7.13 Le funzioni di supporto..................... 145 3.8 Caso di studio 3: un questionario multipagina............. 147 3.8.1 Il problema............................ 147 3.8.2 Schema dell applicazione.................... 147 3.8.3 La pagina indice......................... 148 3.8.4 Un esempio di pagina domande................. 150 3.8.5 Dalle pagine con i gruppi di domande al file XML....... 154

viii Indice Capitolo 4 JSP: Java Server Pages 163 4.1 Introduzione............................... 163 4.2 Sintassi del linguaggio.......................... 164 4.2.1 Tipi di marcatori JSP....................... 165 4.2.2 Elementi di script......................... 165 4.2.3 Variabili predefinite....................... 166 4.2.4 La prima pagina JSP....................... 166 4.3 Caso di studio 1: galleria di immagini................. 168 4.3.1 Le classi dell applicazione.................... 169 4.3.2 Il file di configurazione...................... 176 4.3.3 La pagina indice......................... 177 4.3.4 La pagina per la visualizzazione di un immagine........ 180 4.3.5 Le pagine per l inserimento di una nuova immagine...... 184 4.3.6 Le pagine per la rimozione di un immagine.......... 189 4.3.7 Il foglio di stile.......................... 194 4.3.8 Deployment dell applicazione web............... 195 4.4 Tenere traccia del client in JSP..................... 196 4.4.1 I cookie.............................. 197 4.4.2 Le sessioni............................. 198 4.5 Connessione e interazione con DBMS.................. 199 4.6 Caso di studio 2: myshop........................ 202 4.6.1 La base di dati.......................... 203 4.6.2 Le classi dell applicazione.................... 206 4.6.3 I file di configurazione...................... 212 4.6.4 La struttura delle pagine JSP dell applicazione......... 214 4.6.5 La pagina d errore........................ 219 4.6.6 La pagina principale....................... 220 4.6.7 La pagina dei prodotti...................... 221 4.6.8 Il carrello virtuale........................ 224 4.6.9 Le pagine per effettuare un ordine............... 233 4.6.10 L area di amministrazione.................... 242 4.6.11 Deployment dell applicazione web............... 251 Capitolo 5 Java Enterprise Edition: tecniche avanzate 255 5.1 Introduzione............................... 255 5.2 Servlet................................... 255 5.2.1 API e Servlet Engine....................... 256 5.2.2 Caratteristiche fondamentali delle servlet........... 257 5.2.3 Programmare con le servlet................... 258 5.2.4 Ulteriori esempi con le servlet.................. 263 5.2.5 Tener traccia del client con le servlet.............. 282 5.2.6 Utilizzare i file di log....................... 283

Indice ix 5.2.7 Relazioni fra JSP e servlet.................... 285 5.2.8 JSP vs servlet: considerazioni pratiche sul loro utilizzo.... 289 5.3 Il paradigma Model-View-Controller.................. 290 5.4 Caso di studio: myshop in versione MVC................ 291 5.4.1 Il Model.............................. 292 5.4.2 Le View.............................. 301 5.4.3 Il Controller............................ 323 Capitolo 6 Tecnologie per il Web 2.0 335 6.1 Introduzione............................... 335 6.2 Distribuire il contenuto con RSS..................... 335 6.2.1 RSS 2.0.............................. 337 6.3 Caso di studio 1: generazione di feed RSS............... 339 6.4 Caso di studio 2: un semplice aggregatore............... 341 6.4.1 RSS è XML............................ 341 6.4.2 Il codice per l aggregatore.................... 341 6.5 Web Service................................ 344 6.5.1 La tecnologia dei Web Service.................. 345 6.6 Caso di studio 3: il nostro primo web service requestor........ 348 6.6.1 Web Service in PHP........................ 349 6.7 Caso di studio 4: implementazione di un web service provider.... 350 6.7.1 Il service provider........................ 350 6.7.2 La descrizione in formato WSDL................ 351 6.8 Caso di studio 5: un web service che calcola il codice fiscale..... 354 6.8.1 L algoritmo per il calcolo del codice fiscale........... 354 6.8.2 La struttura dell applicazione.................. 355 6.8.3 Le tabelle di supporto...................... 355 6.8.4 I codici catastali dei comuni................... 356 6.8.5 Implementazione delle funzioni di calcolo........... 357 6.8.6 Il web service provider...................... 360 6.8.7 La descrizione WSDL....................... 361 6.8.8 Il requestor............................ 362 6.9 Siti molto interattivi: AJAX....................... 363 6.10 Caso di studio 6: la nostra prima pagina AJAX............. 364 6.11 La libreria XAJAX............................. 368 6.12 Caso di studio 7: la nostra prima pagina AJAX, in versione XAJAX.. 369 6.13 Caso di studio 8: il codice fiscale in versione AJAX........... 371 6.14 Mescoliamo tutto: Mashup........................ 374 6.14.1 Mashup, API, librerie....................... 375 6.15 Caso di studio 9: alcuni extra per il codice fiscale........... 375 6.15.1 L interfaccia AJAX alle mappe di Google............ 376 6.15.2 Implementazione della mappa.................. 377 6.15.3 Il feed delle notizie........................ 379

x Indice Appendice A Nozioni sulle basi di dati 383 A.1 Introduzione............................... 383 A.2 Il modello relazionale dei dati...................... 383 A.3 Nozioni di base sul linguaggio SQL................... 385 A.3.1 Istruzioni di manipolazione dei dati............... 389 Appendice B Elementi di Javascript 393 B.1 Gli eventi................................. 395 B.2 La definizione di funzioni........................ 397 B.3 Il modello ad oggetti del documento (DOM).............. 397 B.4 Un esempio: eventi e funzioni per la validazione dei moduli (X)HTML 400 Appendice C Come installare Apache, PHP, MySQL, Tomcat 403 C.1 Apache, PHP e MySQL.......................... 403 C.1.1 Il pacchetto XAMPP....................... 404 C.1.2 MAMP............................... 405 C.1.3 Funziona?............................. 405 C.1.4 Possibili fonti di problemi.................... 406 C.2 JDK e Tomcat............................... 406 C.2.1 JDK................................ 406 C.2.2 Tomcat.............................. 407 C.2.3 Funziona?............................. 408 Appendice D Richiami sulla sintassi di Java 409 D.1 Analisi di un programma elementare.................. 409 D.2 Tipi di dato primitivi........................... 410 D.3 Comandi e flusso di esecuzione..................... 412 D.3.1 Comando condizionale...................... 412 D.3.2 switch............................... 413 D.3.3 Cicli................................ 413 D.3.4 try-catch-finally.......................... 414 D.4 Metodi................................... 415 D.5 Classi ed oggetti............................. 415 D.6 Librerie e package principali....................... 416