Il Web, HTML e Java Corso di Laurea in Ingegneria Informatica Progetto S.C.E.L.T.E.



Documenti analoghi
Application Server per sviluppare applicazioni Java Enterprise

Esempio di esecuzione di una pagina JSP: Il client chiede la pagina: sdfonline.unimc.it/info/modulo.jsp;

Linguaggio HTML. Reti. Il Linguaggio HTML. Il Linguaggio HTML

Dott.ssa Adriana Pietramala

HTML HTML. HyperText Markup Language. Struttura di un documento. Gli elementi essenziali di un documento HTML sono i seguenti TAG: <HTML>...

19. LA PROGRAMMAZIONE LATO SERVER

Come funziona internet

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»

Tomcat & Servlet. Contenuti. Programmazione in Ambienti Distribuiti. Tomcat Applicazioni Web. Servlet JSP Uso delle sessioni

Il linguaggio HTML - Parte 3

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

INTRODUZIONE AL LINGUAGGIO HTML. Internet + HTML + HTTP = WWW

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

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014

Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi

Flavio De Paoli

Lezione III: Oggetti ASP e interazione tramite form HTML

Il Protocollo HTTP e la programmazione di estensioni Web

Indice Configurazione di PHP Test dell ambiente di sviluppo 28

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

Manuali.net. Nevio Martini

Introduzione all uso di Eclipse

Comandi principali del linguaggio HTML (Hyper Text Markup Language)

CERTIFICATI DIGITALI. Manuale Utente

Applicazioni Web: meccanismi per il passaggio di informazioni tramite HTTP Corso di Applicazioni Telematiche

Per accedere clicca su START o AVVIO (in basso a sinistra sul tuo schermo), poi su PROGRAMMI, ACCESSORI e infine su BLOCCO NOTE.

Siti interattivi e dinamici. in poche pagine

Protocolli e architetture per WIS

DURANTE LA NAVIGAZIONE NEI SITI WEB I VISITATORI NON SOLO POSSONO CONSULTARE INFORMAZIONI STATICHE

Server-side Programming: Java servlets Parte II

LABORATORIO PER IL DESIGN DELLE INTERFACCE PEGORARO ALESSANDRO CASSERO.IT MANUALE DI AGGIORNAMENTO, MANUTENZIONE E USO DEL SITO

Installazione & Configurazione Php e MySQL su Mac Os X. Php

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Introduzione al linguaggio Java: Servlet e JSP

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Corso di Informatica Modulo T3 B2 - Database in rete

A. Lorenzi Pagine ASP

Capitolo 4 Pianificazione e Sviluppo di Web Part

Esercizi. Introduzione all HTML. Il WWW

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

HTML INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

- Il sito dedicato alle associazioni no-profit di Milano e provincia

SISTEMA AFFILIAZIONE E TESSERAMENTO MANUALE UTENTE

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

REPORT DI VALUTAZIONE DELL ACCESSIBILITÀ

MANUALE PER L UTILIZZO DELLA FUNZIONE EVENTI Rel.1.2 del 29 gennaio 2004

FtpZone Guida all uso

FORMAZIONE PROFESSIONALE

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

POSTECERT POST CERTIFICATA GUIDA ALL USO DELLA WEBMAIL

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

HTML il linguaggio per creare le pagine per il web

Introduzione alla programmazione Http lato server in Java

Servizio Feed RSS del sito CNIT

Layout dell area di lavoro

MANUALE UTENTE. In questo manuale verranno descritte tutte le sue funzioni. Il sistema OTRS è raggiungibile al seguente link:

MANUALE PER LA GESTIONE DEL SERVIZIO DI NEWSLETTER

Architetture Web: un ripasso

Implementazione di MVC. Gabriele Pellegrinetti

Facendo clic su parole, immagini e icone si può passare da un sito all'altro.

Wiki e Wikipedia. Luigi Toscano Giuseppe Pappalardo (responsabile di poche modifiche e di tutti gli eventuali errori)

ITI M. FARADAY Programmazione modulare a.s

Lezione 6: Form 27/04/2012

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Installazione, configurazione e utilizzo di IIS

Corso di Informatica Modulo T3 B1 Programmazione web

Tale attività non è descritta in questa dispensa

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

Lezione II: Web server e ambiente di lavoro

Compilatore risorse display grafico LCD serie IEC-line

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Informatica per la comunicazione" - lezione 10 -

Programmazione server-side: Java Servlet

Manuale scritto da Fuso Federico 4 A Anno scolastico 2011/2012 Parte 1

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

bla bla Documenti Manuale utente

Corso Creare Siti WEB

Manuale per i redattori del sito web OttoInforma

Manuale utente Volta Control

Esercitazione 8. Basi di dati e web

REPORT DI VALUTAZIONE DELL ACCESSIBILITÀ

Client - Server. Client Web: il BROWSER

FOXWave Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA

Introduzione all elaborazione di database nel Web

Maria Grazia Ottaviani. informatica, comunicazione e multimedialità

Transcript:

Il Web, HTML e Java Corso di Laurea in Ingegneria Informatica Progetto S.C.E.L.T.E. Università di Bologna Facoltà di Ingegneria Bologna, 08/02/2010

Outline Da applicazioni concentrate a distribuite Modello Web e HTML HTML e Java Parte pratica Prima parte Strumenti Tool di sviluppo (Eclipse IDE) Server Tomcat Una prima pagina HTML di esempio Parte pratica Seconda parte Java Server Pages Prima Pagina Web Dinamica 2

Applicazioni distribuite 3

Modello Client/Server Modello di collaborazione nel distribuito Client richiede esplicitamente al server Servizi, contenuti, ecc... Server remoto prepara ed invia la risposta Modello asimmetrico (molti client, un server) 4

Il Web WEB http://somesite.com/hello.html URL: come identificare univocamente risorse Web HTML: come descrivere risorse Web Hello HTTP: come accedere a risorse Web Tipico modello C/S Client Browser (Firefox /IE) utente richiede una risorsa Web URL per indicare la risorsa <html> <body> <h1>hello</h1> </body> </html> HTTP per comunicare col server (richiesta e risposta) Server WEB (es. APACHE Web Server) Contenitore di pagine HTML trova la risorsa HTML richiesta manda indietro al client il codice HTML della risorsa Web Server http://somesite.com/ bye.html hello.html <html> <html> <body> <body> <h1>hello</h1> <h1>hello</h1> </body> 5 </body> </html> </html>

Linguaggio HTML HTML: HyperText Markup Language definisce contenuto Web (in parte) formattazione/visualizzazione del contenuto documento strutturato insieme di marcatori (tag) che definiscono proprietà del contenuto ciascun marcatore delimita (apre e chiude la definizione) del contenuto <nometag>: tag di apertura </nometag>: tag di chiusura Es: <h1>testo da formattare</h1> 6

Linguaggio HTML Struttura di una pagina HTML <html> <head> <title>a study of population dynamics</title>... </head> <body bgcolor="white" text="black" link="red" alink="fuchsia" vlink="maroon"> </body> </html> Tag HTML delimita l'intero documento Tag HEAD racchiude informazioni opzionali es. titolo della pagina Tag BODY racchiude corpo del documento diversi attributi possibili bgcolor: colore dello sfondo text: colore del testo link: colore dei link 7

Linguaggio HTML Pagina HTML di esempio 8

Linguaggio HTML Formattazione dei contenuti Numerose possibilità per la formattazione di contenuto testuale Tag <font> permette di specificare una generica formattazione di testo attributi: size = [+ -]n: definisce le dimensioni del testo (1-7 o relative) color = definisce il colore del testo face = definisce il font del testo (es. arial, verdana, ecc...) Tag heading: permettono di specificare titoli e sottotitoli a differenti livelli di importanza <h1>titolo più significativo</h1> <h2>un po meno significativo </h2> <h3> Un po meno significativo </h3> <h4> Un po meno significativo </h4> <h5> Un po meno significativo </h5> <h6> Titolo meno significativo </h6> 9

Linguaggio HTML Strutturazione dei contenuti Altri tag per definire contenuti maggiormente strutturati tag <p>: gestione di paragrafi di testo tag <table>: creazione di tabelle tag <tr> innestati per definire righe delle tabelle tag <ol> e <ul>: liste di elementi (ordinate e non) tag <li> innestati per definire elementi all'interno di una lista tag <div>: generici raggruppamenti (blocchi) di contenuto 10

Linguaggio HTML Interazione con utente - Form Tag FORM contiene elementi di controllo Interazione utente (inserimento dati, azioni, ecc...) vari elementi di controllo: Bottoni CheckBox ( Switch on/off) Radio Buttons (Switch mutuamente esclusi) Menu di selezione (Lista di opzioni) Inserimento di testo... 11

Linguaggio HTML Esempio di form <html> <body> <form action="http://localhost" method="get"> Nome: <input type="text" name="firstname"/> <br/> <input type="submit" name="azione" value="invia"/><br/> </form> </body> </html> Web Server http://localhost firstname=stefano azione=invia 12

Problema: HTML è statico! HTML è stato pensato per la definizione di risorse statiche Il contenuto di una pagina HTML (semplice) viene definito dallo sviluppatore e non cambia (a meno che lo sviluppatore non intervenga) Infatti, riprendendo il modello di esecuzione utente, tramite browser richiede una pagina HTML il server reperisce la pagina HTML risponde (manda al client il contenuto HTML) mediante protocollo HTTP il browser visualizza il contenuto della pagina HTML ricevuta Ad esempio: come è possibile creare una pagina personalizzata per ciascun utente? 13

Soluzione Varie soluzioni e tecnologie (spesso complementari): Lato server: CGI, PHP, Java Servlet/Java Server Pages (JSP),... Creazione dinamica di pagine HTML lato server <html> <body> <h1>hello</h1> </body> </html> <html> <body> <h1>hello,ste </h1> </body> </html> Lato client: Javascript, Flash,... Manipolazione del codice HTML ricevuto dal browser (client) <html> <body> <h1>hello</h1> </body> </html> @!#!!!@ò &%780 Web Server http://localhost/ hello.script... hello.script @!#!!!@ò... &%780 @!#!!!@ò... &%780... 14

La piattaforma Java Java Standard Edition applicazioni locali (desktop) lanciare una applicazione esplicitamente java nomeclassemain (oppure java -jar mainfile.jar) Java Enterprise Edition applicazioni distribuite (anche Web) esiste un server JEE che ospita le applicazioni gestione caricamento, ciclo di vita, disattivazione niente più main() e lancio esplicito!!! funzionalità standard di supporto per applicazioni complesse distribuite es. protocollo HTTP 15

Applicazione Web J2EE Archivio WAR = archivio JAR + descrittore web (file web.xml) classi Java risorse Web Pagine HTML JSP Servlet... Non c'è più un main()!! L'applicazione viene caricata dallo sviluppatore sul server J2EE lanciata (resa accessibile agli utenti) automaticamente dal server 16

Hands on... Parte prima - Strumenti 17

Hands on... Parte prima Strumenti 1) Scaricare Tomcat J2EE Server 2) Installare e lanciare Tomcat (unzip...) 3) Scaricare Progetto di esempio 4) Configurare editor Java (Eclipse IDE) Importare il progetto di esempio nell'editor 5) Caricare la prima applicazione Web Java impacchettare e caricare la applicazione sul server in questo caso: solo contenuto statico (pagine HTML) 18

Hands on... Parte prima Tomcat Scaricare Tomcat Servlet container all'indirizzo: http://lia.deis.unibo.it/courses/tecnologieweb0708/mate riale/laboratorio/applicazioni/apache-tomcat-5.5.20.zip Installare Tomcat == scompattare l'archivio! usare Winzip o WinRAR Lanciare Tomcat nella sottocartella bin lanciare lo script startup.bat 19

Hands on... Parte prima Progetto di esempio Scaricare Progetto Eclipse di esempio http://lia.deis.unibo.it/courses/tecnologieweb0809/mate riale/altro/calcolatriceweb.zip Lanciare ECLIPSE Da menu Start Programmi Eclipse 3.4 Importare il progetto in Eclipse File Import Existing Projects into Workspace Next Selezionare Select Archive File Selezionare l'archivio appena scaricato 20

Hands on... Parte prima Progetto di esempio File Import Existing Projects into Workspace Next Selezionare Select Archive File Selezionare l'archivio appena scaricato 21

Hands on... Parte prima Impacchettare applicazione Web File Export Java JAR File Next Selezionare un percorso dove salvare il file Specificare il nome dell'archivio ATTENZIONE: estensione.war!!! 22

Hands on... Parte prima Caricamento applicazione Web In Tomcat caricamento a caldo (server acceso) della applicazione copiare archivio.war nella sottocartella webapps Applicazioni attualmente caricate sul server 23

Hands on... Parte prima Pagina Web di esempio Aprire un browser e digitare la URL http://localhost:8080/calcolatriceweb/hello.html Esercizi ispezionare il contenuto di hello.html nel progetto modificare la pagina a piacere Riferimenti HTML Indirizzo del server http://www.w3schools.com/ Nome applicazione Web (== nome archivio senza estensione) Nome risorsa Web 24

Hands on... Parte seconda Java Server Pages 25

Java Server Pages Documenti HTML con estensione.jsp includono codice Java elaborate al volo dal servlet container (Tomcat) a seguito di richieste utente generazione dinamica di contenuto HTML <html> </html> <body> <h1> Titolo pagina </h1> <%... codice Java ben formato... %> </body> 26

Oggetti built-in Risorse automaticamente disponibili all'interno del codice Java nella JSP e accessibili per nome 8 oggetti estremamente utili page: la pagina e le sue proprietà config: dati di configurazione out: per scrivere codice HTML nella risposta (analogo a System.out!!) request: richiesta HTTP ricevuta e i suoi attributi, header, cookie, parameteri, ecc ) response: risposta HTTP e le sue proprietà application: dati condivisi da tutte le pagine della web application session: dati specifici della sessione utente corrente exception: eventuali eccezioni lanciate dal server; utile per pagine di errore pagecontext: dati di contesto per l esecuzione della pagina 27

Oggetti built-in out http://indirizzo_server:8080/hello.jsp hello.jsp <html> <body> <% out.print( <h1>ciao</h1> ); %> </body> </html> <html> <body> <h1>ciao</h1> </body> </html> Tomcat Servlet Container 28

Oggetti built-in request <input type="text" name="firstname"/> <input type="submit" name="azione" value="invia"/> hello.jsp <html> <body> <% String name = request.getparameter( firstname ); out.print( Ciao +name) %> </body> </html> http://indirizzo_server:8080/hello.jsp <html> <body> Ciao Stefano </body> </html> Tomcat Servlet Container 29

Oggetti built-in Un esempio completo hello.jsp <html> <body> <form> <input type="text"name="firstname"/> <input type="submit"name="azione" value="invia"/> </form> <% String name = request.getparameter( firstname ); out.print( Ciao: +name) %> </body> </html> http://indirizzo_server:8080/hello.jsp ==... <body>... </body> Tomcat Servlet Container 30

Oggetti built-in Un esempio completo hello.jsp <html> <body> <form> <input type="text"name="firstname"/> <input type="submit"name="azione" value="invia"/> </form> <% String name = request.getparameter( firstname ); out.print( Ciao: +name) %> </body> </html> http://indirizzo_server:8080/hello.jsp firstname=stefano... <body>... Ciao: Stefano == </body> Tomcat Servlet Container 31

Hands on... Parte seconda - JSP Realizzare una calcolatrice web Vista utente: schermata con 3 campi di input testo: 2 operandi + operazione da eseguire pulsante per inviare la richiesta di calcolo output: risultato dell'operazione 32

Hands on... Parte seconda - JSP Lato server: la parte Java deve recuperare i parametri di input della richiesta request.getparameter(...) effettuare l'operazione aritmetica mediante la usuale sintassi Java generare una pagina HTML contenente il risultato out.print(...) 33