OBIETTIVI DELLA LEZIONE
In questa lezione:
HTML significa Hyper Text Mark-up Language. NON è un linguaggio di programmazione (come Java o il C) né di scripting (come PHP) ma "solo" di marcatura. L'HTML non prevede istruzioni per il controllo del flusso di esecuzione! Alcune note sono contenute in questa dispensa.
Le pagine HTML sono solo dei files di testo a cui per convenzione abbiamo dato l'estensione .html o .htm. Possiamo aprirli con un browser internet, come Internet Explorer o Firefox. I browsers mentre li leggono ne interpretano i tag HTML e visualizzano il contenuto formattato a video. Possiamo cliccare sui links, e se questi puntano a files che sono sullo stesso computer, il browser li apre e ne mostra il contenuto.
Se vogliamo invece che le nostre pagine siano disponibili sul web, dobbiamo metterle su di un Server che, su richiesta del nostro browser, ce le fornisca.
Il web browser che ci permette di navigare è detto client o anche user agent. Su di un computer "remoto" detto Server machine è installato un programma detto server che è in grado di fornire al client una pagina HTML in seguito ad una domanda specifica (del client).
Il client non ha nessuna idea di come il server generi il documento. Il server è per il client come una scatola nera. Il client effettua una richiesta e si aspetta un file HTML (o JPG, PDF, etc...) come risposta.
Il protocollo di trasferimento degli ipertesti che viene utilizzato è l'HTTP (HyperText Transfer Protocol), che viene descritto in questi lucidi [da studiare].
Materiale di riferimento (in inglese):
Il linguaggio di markup HTML prevede tags sia per i contenuti (ad esempio: <h1>) che per la formattazione (ad esempio: <font>). I file CSS (Cascading Style Sheets), detti anche "fogli di stile" derivano da una serie di raccomandazioni W3C e nascono per separare stile e contenuti. Vediamo come.
Supponiamo di voler cambiare il colore del testo dei paragrafi della nostra pagina web, e di voler anche utilizzare un diverso font. Scriveremmo qualcosa del genere:
<p><font color="#00FF00" face="sans-serif">Mio testo</font></p>
Utilizzando un foglio di stile, per prima cosa creeremo il nostro file (ad es: stile.css) e al suo interno specificheremo come vogliamo ridefinire lo stile di ciascuno dei marker HTML. Ad esempio, per il caso appena citato:
p { font-family: sans-serif; color: #00FF00; }
Quindi linkeremo all'interno del nostro file HTML il file di stile creato. A questo scopo, modificando l'header della pagina:
<head> <title>Mia pagina</title> <link rel="STYLESHEET" href="stile.css" type="text/css" /> </head>
Oltre al tag <p>, vengono tipicamente ridefiniti i tag standard HTML. Ma si possono anche modificare le caratteristiche di una porzione di testo definendo nuovi "stili". Ad esempio:
.evidenziato { background-color: yellow; }
Lo stile viene applicato con il tag "span"
Questo <span class="evidenziato">testo</span> è evidenziato.
I CSS vengono utilizzati per formattare completamente una pagina HTML: non si dovrebbe per questo utilizzare alcuna tabella! Queste poche righe sono state solo una brevissima introduzione ai CSS, e ne indicano solo alcune delle potenzialità.
Esercizio 0
Lanciate il browser Firefox (a casa installatelo!). Se necessario installate il plugin livehttpheaders.
Dopo avere fatto partire livehttpheaders (dal menù tools/strumenti), selezionate l'URI http://www.dti.unimi.it/~sassi. Analizzate ora gli header della richiesta e della risposta HTTP e cercate di riconoscere le varie parti viste a lezione.
Esercizio 1
Con SciTE, creare una semplice pagina personale che contenga almeno una vostra foto (se l'avete a portata di mano, altrimenti una immagine qualsiasi), il vostro nome e cognome e la vostra matricola. La pagina deve avere un titolo a vostra scelta. Disponete i vari elementi utilizzando sfondo e colori che più preferite.
Esercizio 2
----------------------- | 6 esercizi | | di nome cognome | | matricola | ----------------------- | ex1 | ex2 | ----------------------- | ex3 | ex4 | ----------------------- | ex5 | ex6 | -----------------------dove ex1, etc., è il nome di un file. Ciascun nome deve essere un link (funzionante) all'esercizio corrispondente (al file java).
Esercizio 3: IMPORTANTISSIMO! [Soluzione]
Un file HTML è solo un file di testo. Abbiamo visto nella lezione scorsa
che in Java possiamo creare e modificare dei file di testo. Ma allora perché
non scrivere un programma che crei automaticamente delle pagine HTML?
E' utilissimo sopratutto per strutture ripetitive come le tabelle.
Studia il primo esempio:
CreaFileHtml1.java. Il programma crea un
file HTML elementare.
Non limitarti a compilarlo ed eseguirlo! Leggi attentamente
il sorgente e cerca di capire ogni riga di codice!
Quando il primo esempio è chiaro, passa al secondo
CreaFileHtml2.java.
Il programma crea una tabella
delle potenze del 2 e del 3 da 0 a 10.
Studiando il sorgente vedrai un tag HTML non visto a lezione (th: serve
per fare le intestazioni delle colonne).
Se hai capito i due esempi precedenti, prendendone spunto crea un tuo
programma "Tabelline.java" che crea una pagina HTML
("tabelline.html") con una tabella
delle "tabelline" da 1 a 10 (come quella che tutti abbiamo imparato
a memoria in seconda elementare).
Esercizio 4 [Soluzione]
Scrivere un programma "converti.java" che crea una pagina HTML
che contiene il testo ben formattato del libro dell'"inferno"
della "Divina commedia" di Dante Alighieri.
Questo è un esercizio impegnativo, ma hai le conoscenze per affrontalo!
Come procedere:
©2008 Roberto Sassi