Corso di Tecnologie di Sviluppo Web – Università della Basilicata Anno Accademico 2001/2002 Esercitazione di laboratorio del 14 Giugno 2002 L’Oroscopo su Web Istruzioni per la creazione e installazione dell’applicazione Web e per l’utilizzo del manager • Creare nella cartella “webapps” di Tomcat, corrispondente alla cartella /usr/webapps una nuova cartella chiamata oroscopo in cui inserire i file dell’applicazione Web da creare. ATTENZIONE: la cartella deve rispettare l’organizzazione prevista per le applicazioni Web J2EE. • Installare l’applicazione Web oroscopo (inizialmente vuota) utilizzando il ma nager di Tomcat, con il seguente URI: localhost:8180/manager/install?path=/oroscopo&war=file:/usr/webapps/oroscopo • Verificare che l’applicazione oroscopo sia stata correttamente installata utilizzando il comando list: http://localhost:8180/manager/list • Successivamente, per ricaricare l’applicazione a seguito di modifiche, è possibile utilizzare il comando http://localhost:8180/manager/reload?path=/oroscopo • Successivamente, per disinstallare l’applicazione (e poi reinstallarla), è possibile utilizzare il comando http://localhost:8180/manager/remove?path=/oroscopo (seguito dal comando install come illustrato sopra) • I DTD di XHTML 1.0 e di XHTML-Basic sono disponibili nella cartella /usr/share/documenti/W3C/html oppure sul sito del corso alla pagina del materiale didattico. • Per utilizzare il framework didattico pinco, scaricare dal sito del corso il file .war applicazioneVuotaPinco-02.war contenente lo scheletro di applicazione vuota, installarla e procedere nello sviluppo. • Al termine dell’esercitazione, produrre un file war contenente tutti i file dell’applicazione sviluppata posizionandosi con un terminale nella cartella oroscopo e digitando il comando jar cvf oroscopo.war * Il comando dovrebbe generare nella cartella un file oroscopo.war contenente tutti i file dell’applicazione Web. Il contenuto del file .war può essere verificato con il comando jar tf oroscopo.war Livello elementare E’ necessario scrivere un’applicazione Web che consente di ottenere il proprio oroscopo del giorno. Il flusso degli schermi dell’applicazione è descritto nel seguito. • Ogni utente si connette all’applicazione visualizzando sul browser una pagina iniziale (ovvero una pagina HTML creata dalla pagina “server” index.jsp) contenente una maschera (“form”) HTML attraverso la quale l’utente fornisce i propri dati (nome, cognome, giorno di nascita, mese di nascita, anno di nascita). • I dati inseriti nella maschera devono essere sottomessi alla pagina server oroscopo.jsp che deve trovare il segno zodiacale dell’utente sulla base di giorno e mese di nascita e visualizzare (a) il nome e il segno zodiacale dell’utente; (b) l’oroscopo per quel segno zodiacale. A questo scopo, per semplicità, si supponga di gestire solo i primi tre segni, ovvero: ariete (nati tra il 20 marzo e il 20 aprile), toro (nati tra il 21 aprile e il 21 maggio), gemelli (nati tra il 22 maggio e il 21 giugno). Si supponga inoltre che gli oroscopi per il giorno in questione siano: o ariete: “Giornata positiva per i nati sotto il segno dell’ariete. La luna in saturno garantisce serenità” o toro: “Si prepara per voi un periodo di riposo. Attenti agli imprevisti sul lavoro.” o gemelli: “Il grande equilibrio di Plutone vi favorirà nei rapporti personali. Evitate di eccedere con il cibo.” Scrivere l’applicazione Web che effettua le operazioni elencate sopra secondo le seguenti specifiche: • L’applicazione deve utilizzare pagine JSP, ma non ci sono requisiti sull’architettura (possono essere utilizzati JavaBeans ma questo non è richiesto). • Non è necessario provvedere alla convalida dei dati sottomessi dall’utente. • Non è necessario provvedere alla convalida del codice HTML prodotto dalle pagine JSP. Corso di Tecnologie di Sviluppo Web – Università della Basilicata Anno Accademico 2001/2002 Livello intermedio E’ necessario scrivere un’applicazione Web che consente di ottenere il proprio oroscopo del giorno. Il flusso degli schermi dell’applicazione è descritto nel seguito. • Ogni utente si connette all’applicazione visualizzando sul browser una pagina iniziale (ovvero una pagina HTML creata dalla pagina “server” index.jsp) contenente una maschera (“form”) HTML attraverso la quale l’utente fornisce i propri dati (nome, cognome, giorno di nascita, mese di nascita, anno di nascita). • I dati inseriti nella maschera devono essere sottomessi alla pagina server oroscopo.jsp che deve trovare il segno zodiacale dell’utente sulla base di giorno e mese di nascita. A questo scopo, per semplicità, si supponga di gestire solo i primi tre segni, ovvero: ariete (nati tra il 20 marzo e il 20 aprile), toro (nati tra il 21 aprile e il 21 maggio), gemelli (nati tra il 22 maggio e il 21 giugno). La pagina deve visualizzare: o Il nome dell’utente e la sua data di nascita o Il segno zodiacale dell’utente o L’oroscopo dell’utente. A questo scopo, per semplicità si supponga che gli oroscopi per il giorno in questione siano: § ariete: “Giornata positiva per i nati sotto il segno dell’ariete. La luna in saturno garantisce serenità” § toro: “Si prepara per voi un periodo di riposo. Attenti agli imprevisti sul lavoro.” § gemelli: “Il grande equilibrio di Plutone vi favorirà nei rapporti personali. Evitate di eccedere con il cibo.” o Una ulteriore maschera, in cui vengono elencati i segni zodiacali diversi dal segno dell’utente, attraverso la quale l’utente può richiedere l’affinità tra il proprio segno e il segno selezionato. o Un collegamento per uscire dall’applicazione tornando alla pagina index.jsp • Il segno selezionato per il calcolo dell’affinità deve essere sottomesso alla pagina server affinita.jsp che deve trovare l’affinità tra il segno dell’utente e il segno scelto. A questo scopo si utilizzino le seguenti semplici regole: o L’ariete ha buona affinità con i gemelli e scarsa affinità con il toro o Il toro ha scarsa affinità con l’ariete e ottima affinità con i gemelli o I gemelli hanno buona affinità con l’ariete e ottima affinità con il toro La pagina generata dalla pagina server affinita.jsp deve visualizzare: o Il nome dell’utente e la sua data di nascita o I due segni zodiacali o L’affinità o Un collegamento per ritornare alla pagina oroscopo.jsp oppure per uscire dall’applicazione tornando a index.jsp Scrivere l’applicazione Web che effettua le operazioni elencate sopra secondo le seguenti specifiche: • L’applicazione deve utilizzare pagine JSP e un’architettura di tipo Modello 1. • E’ necessario provvedere alla convalida dei dati sottomessi dall’utente (NOTA: per quanto riguarda le date, limitarsi a controllare che il giorno sia un numero intero compreso tra 1 e 31, che il mese sia un numero intero compreso tra 1 e 12 e che l’anno sia un numero intero compreso tra 1920 e 2002). • Non è necessario provvedere alla convalida del codice HTML prodotto dalle pagine JSP. • La grafica deve essere organizzata utilizzando un foglio di stile CSS. Corso di Tecnologie di Sviluppo Web – Università della Basilicata Anno Accademico 2001/2002 Livello avanzato E’ necessario scrivere un’applicazione Web che consente di ottenere il proprio oroscopo del giorno. Il flusso degli schermi dell’applicazione è descritto nel seguito. • Ogni utente si connette all’applicazione visualizzando sul browser una pagina iniziale creata dalla pagina “server” index.jsp contenente una maschera (“form”) HTML attraverso la quale l’utente fornisce i propri dati (nome, cognome, giorno di nascita, mese di nascita, anno di nascita). • A seguito della sottomissione dei dati personali, l’utente deve accedere alla pagina generata dalla pagina server oroscopo.jsp che deve visualizzare: o Il nome dell’utente e la sua data di nascita o Il segno zodiacale dell’utente. A questo scopo, per semplicità, si supponga di gestire solo i primi tre segni, ovvero: ariete (nati tra il 20 marzo e il 20 aprile), toro (nati tra il 21 aprile e il 21 maggio), gemelli (nati tra il 22 maggio e il 21 giugno) o L’oroscopo dell’utente. A questo scopo, per semplicità si supponga che gli oroscopi per il giorno in questione siano: § ariete: “Giornata positiva per i nati sotto il segno dell’ariete. La luna in saturno garantisce serenità” § toro: “Si prepara per voi un periodo di riposo. Attenti agli imprevisti sul lavoro.” § gemelli: “Il grande equilibrio di Plutone vi favorirà nei rapporti personali. Evitate di eccedere con il cibo.” o Il numero di utenti di ciascuno dei tre segni zodiacali (incluso l’utente in questione) che in quel momento stanno utilizzando l’applicazione (es: un messaggio del tipo “In questo momento sono collegati 3 utenti dell’ariete, 5 utenti del toro e nessun utente dei gemelli”) o Un bottone attraverso il quale l’utente può ottenere i nomi degli utenti in quel momento collegati con i quali ha la massima affinità. o Un collegamento per uscire dall’applicazione tornando alla pagina index.jsp • Richiedendo la lista di utenti affini, l’utente deve accedere alla pagina generata dalla pagina server affinita.jsp nella quale viene visualizzato: o Il nome dell’utente, la sua data di nascita e il suo segno zodiacale o L’elenco degli utenti che hanno maggiore affinità con l’utente in questione. A questo scopo si utilizzino le seguenti semplici regole: § L’ariete ha buona affinità con i gemelli e scarsa affinità con il toro § Il toro ha scarsa affinità con l’ariete e ottima affinità con i gemelli § I gemelli hanno buona affinità con l’ariete e ottima affinità con il toro o Un collegamento per ritornare alla pagina oroscopo.jsp oppure per uscire dall’applicazione tornando a index.jsp Scrivere l’applicazione Web che effettua le operazioni elencate sopra secondo le seguenti specifiche: • L’applicazione deve utilizzare pagine JSP e un’architettura di tipo Modello 2 basata sul framework didattico pinco. • E’ necessario provvedere alla convalida dei dati sottomessi dall’utente. (NOTA: per quanto riguarda le date, limitarsi a controllare che il giorno sia un numero intero compreso tra 1 e 31, che il mese sia un numero intero compreso tra 1 e 12 e che l’anno sia un numero intero compreso tra 1920 e 2002). • Il codice HTML prodotto deve essere conforme al DTD XHTML-Basic. E’ necessario procedere alla convalida del codice prodotto utilizzando il validatore xmlvalid • La grafica deve essere organizzata utilizzando un foglio di stile CSS.