Tecnologie Web T
10 Luglio 2013 – Compito
Tempo a disposizione: 3 ore
La soluzione comprende la consegna elettronica dei seguenti file mediante l’apposito applicativo Web esamix (http://esamix.labx):
Sosta.zip
Valute.zip
Giugno.zip
file zip contenente il sorgente java/class e pagine Web per punto 1
file zip contenente il sorgente java/class e pagine Web per punto 2
file zip contenente il sorgente java/class per punto 3
Ogni file .zip consegnato DEVE CONTENERE TUTTI e SOLI i file creati/modificati
e/o ritenuti importanti in generale ai fini della valutazione (ad esempio, descrittori, risorse statiche o dinamiche, codice Java e relativi .class, ecc.) e NON dell'intero progetto
N.B. Per superare la prova scritta di laboratorio ed essere ammessi all’orale, è necessario totalizzare almeno 18 punti (su un totale disponibile di 33), equamente distribuiti sui tre esercizi, ovvero almeno 6 punti sul primo esercizio, 6 punti sul secondo esercizio e 6 punti sul terzo esercizio
Studenti in debito di Tecnologie Web L-A
Viene richiesto lo svolgimento dei soli esercizi 1 (17 punti) e 2 (16 punti). Tempo a disposizione: 2 ore.
I 18 punti necessari per l’ammissione all’orale sono così distribuiti: almeno 10 punti sul
primo esercizio e almeno 8 punti sul secondo
ESERCIZIO 1 (11 punti)
Si realizzi un’applicazione Web che fornisca il servizio di pagamento di pedaggio per autovetture in sosta, basata su tecnologie Java servlet e JSP.
In particolare, l’applicazione dovrà avere una pagina iniziale sosta.jsp che autentichi l’utente
con username e password (solo ed esclusivamente la prima volta all’interno di una sessione
attiva) e che gli permetta di inserire numero di targa, indirizzo della sosta, orario di inizio sosta e orario di fine sosta. Fino a che l’orario di fine sosta non è stato raggiunto, l’utente deve
avere la possibilità di prolungare la sosta fino a un nuovo orario finale (pulsante “aggiorna
fine” sulla stessa pagina sosta.jsp); solo al superamento dell’orario di fine sosta, invece, i dati
relativi alla sosta (targa, indirizzo, durata in minuti) dovranno entrare a fare parte, a fini statistici, dello stato dell’intera applicazione. La suddetta pagina JSP può realizzare tali funzionalità anche interagendo con una o più apposite servlet.
Infine, si realizzi anche una pagina admin.jsp che permetta all’amministratore del servizio di
visualizzare tutti i dati relativi alle soste terminate, di visualizzare la loro durata media e di
fare ricerche basate sul numero di targa.
1/2
Tecnologie Web T
10 Luglio 2013 – Compito
ESERCIZIO 2 (11 punti)
Realizzare un’applicazione Web per la conversione Euro-valuta straniera, basandosi principalmente su tecnologie Javascript, Java servlet e AJAX.
L’applicazione deve essere costituita da una pagina Javascript iniziale tramite cui sia possibile inserire il nome della valuta straniera verso cui si vuole effettuare la conversione, ad esempio “dollaro australiano”: mano a mano che si inseriscono i caratteri relativi al nome della
valuta straniera, tramite opportuna richiesta AJAX, si deve realizzare una funzione di autocompletamento veloce, sfruttando una apposita servlet valute che detiene una tabella di nomi
di valute straniere lato server. Inoltre, sempre nella pagina Javascript iniziale, deve essere
possibile inserire l’importo in euro da convertire (per semplicità sempre di 4 cifre numeriche);
al completamento della quarta cifra deve essere invocata l’operazione di conversione, realizzata tramite la stessa servlet di cui sopra.
Si consideri anche che la pagina Javascript deve mostrare, come valore iniziale per la valuta
straniera, quello utilizzato dall’utente nell’ultima operazione di conversione eventualmente
effettuata all’interno della sua sessione di interazione.
ESERCIZIO 3 (11 punti)
Partendo dalla realtà illustrata nel diagramma UML di seguito riportato, si fornisca una soluzione alla gestione della persistenza basata su Pattern DAO in grado di “mappare” efficientemente il modello di dominio rappresentato dai JavaBean Concerto e Città con le corrispondenti tabelle relazionali derivate dalla progettazione logica del diagramma dato.
Nel dettaglio, dopo aver creato da applicazione Java gli schemi delle tabelle all’interno del
proprio schema nel database TW_STUD di DB2 (esplicitando tutti i vincoli opportuni), implementato i JavaBean e realizzato le classi relative al Pattern DAO per l’accesso CRUD
alle tabelle, si richiede la realizzazione di un metodo che “permetta di ottenere il nome della
città in cui si sono tenuti più concerti nel mese di Giugno”.
Infine, si crei un semplice main di prova che:
inserisca tre o più concerti tenuti in città diverse nella stessa data; tre o più concerti
tenuti nella stessa città in date diverse;
faccia uso corretto del metodo realizzato al fine di restituire, con opportuna stampa su
file, il nome della città che rispetta il requisito sopra descritto.
N.B. L’implementazione del Pattern DAO deve limitarsi al solo DBMS DB2. La soluzione
proposta deve propendere per un caricamento di tipo “eager”
2/2