Laboratorio di Basi di Dati e Web

Похожие документы
Architettura Model-View-Controller (MVC)

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati

Architettura MVC-2 A L B E R T O B E L U S S I A N N O A C C A D E M I C O /

Laboratorio di Basi di Dati

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

03FYZ TECNICHE DI PROGRAMMAZIONE Esercitazione di Laboratorio 03 es.1 23 Marzo 2016

Programmazione Java Avanzata. MVC Model, View,, Controller. Ing. Gianluca Caminiti

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008

Basi di dati Basi di dati per bioinformatica

Verso l architettura MVC-2 Java Server Pages (JSP)

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11

CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION

L architettura MVC (Model- View-Controller) Introduzione

Basi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13

Corso di Applicazioni Telematiche

Corso Programmazione Java Avanzato

Strutture di accesso ai dati

SWIM v2 Design Document

Sviluppo di Applicazioni Web con Java 2 Enterprise Edition

Introduzione a JSF: Le basi in un esempio. Giulio Rossetti 20/09/2007

GREENTRANET Linee guida per Volontari

Java il Corso Fondamentale

Definizione di metodi in Java

Guida Piattaforma E-learning per lo Studente

Laboratorio di Basi di Dati e Web

Introduzione alla Programmazione per il Web

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

Laboratorio di Basi di dati

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

Utilizzo delle Maschere in Microsoft Access

2.9 Guida all Immatricolazione

Java Servlet & Java Server Pages (una semplice introduzione) SAPIENZA Università di Roma Corso di Progetto di Applicazioni Software

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

SISTEMA GESTIONE TOMBINI

5 Invio di Integrazioni e Conformazioni (per pratiche già trasmesse)

FONTUR MANUALE UTENTE

Navigare in piattaforma

CORSO DI FORMAZIONE DOCENTI DELLE SCUOLE PUBBLICHE A GESTIONE PRIVATA ECDL, LA PATENTE EUROPEA PER L USO DEL COMPUTER GUIDA SINTETICA

Principi di Progettazione del Software a.a Introduzione al corso Prof. Luca Mainetti Università del Salento

Principi di Progettazione del Software a.a " Introduzione al corso! Prof. Luca Mainetti! Università del Salento!

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

Server-side Programming: Java servlets Parte II

Manuale Utente di registrazione alla BDAP (Banca Dati delle Amministrazioni Pubbliche) Bilanci Armonizzati

CAMPUS RGS LINEE GUIDA PROGRESSIONI ECONOMICHE 2016

Programmazione server-side: Java Servlet

Architettura MVC-2: i JavaBeans

Manuale Operativo per l utente

Analizzatori Lessicali con JLex. Giuseppe Morelli

Fondamenti di Informatica T-1

Guida Piattaforma E-learning per lo Studente

Cosa è importante: pom.xml Goal Plug-in Repository

Programmazione Java Avanzata

Corso sul linguaggio Java

Sviluppo di Applicazioni Web con Java 2 Enterprise Edition

MODELLO CD1. Iscrizione Coltivatori Diretti. Manuale Patronati

MODULO DI ISCRIZIONE AI CORSI PER LA PREPARAZIONE ALLA CERTIFICAZIONE ECDL. l sottoscritt. nat a il giorno e residente a, Provincia in n.

Framework di Middleware. per Architetture Enterprise

Basi di Dati Concetti Introduttivi

Come realizzare delle select concatenate con PHP e jquery?

Implementazione di MVC. Gabriele Pellegrinetti

EurekaWeb Editor. Editor per la configurazione dell EurekaWeb

AE RZT QSO RKPT SQZC

Tecnologie di Sviluppo per il Web

Utilizzo delle Maschere in Microsoft Access

1. COME ISCRIVERSI AL CONCORSO

Università degli studi di Napoli Federico II Facoltà di Ingegneria. Corso di Laurea in Ingegneria Informatica TESI DI LAUREA

SETA Selection Tool del Sistema ARTIST

Транскрипт:

Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 9 Architettura Model-View-Controller (MVC) Adottando l'architettura MVC e la tecnologia Servlet-JSP, un'applicazione web può essere realizzata secondo diversi approcci. I due approcci più significativi sono: page-centric servlet-centric 1

Approccio Page-centric Logica (Model) DBMS + JavaBeans Flusso (Controller) Presentazione (View) JSP Base di Dati sviluppatori Java Web Designer Approccio Servlet-centric (1) Logica (Model) DBMS + JavaBeans Flusso (Controller) Presentazione (View) Servlet JSP Base di Dati sviluppatori Java Web Designer 2

Approccio Servlet-centric (2) Logica dell applicazione Livello di controllo e di presentazione Base di dati 2) executequery 3) Result Set classe java di front end 1) Richiesta dati Servlet generica 4) Java Data Beans 5) Visualizzazione JSP Approccio Servlet-centric (3) L'approccio servlet-centric prevede di utilizzare le pagine JSP solo per la presentazione e delegare il controllo ad una o ad una servlet. Le servlet quindi: gestiscono le richieste (vengono cioè invocate tramite URI) elaborano i dati necessari a soddisfare le richieste (utilizzando i JavaDataBean come componenti per rappresentare le informazioni di interesse) trasferiscono il controllo alla JSP designata a presentare i risultati. 3

Approccio Servlet-centric (4) Passaggio dati fra servlet-jsp: i JavaDataBean istanziati dalla servlet devono essere passati alla JSP prima di trasferire ad essa il controllo. A tal fine esiste una coppia di metodi della classe HttpServletRequest che permettono di inserire/recuperare in/da request (oggetto implicito della JSP) un numero arbitrario di oggetti. Questi metodi sono: setattribute(string, Object) getattribute(string) Approccio Servlet-centric (5) Trasferimento del controllo dalla servlet alla JSP: quando all'interno di una servlet, dopo aver preparato i dati e averli inseriti nell'oggetto request, si vuole richiamare una JSP per visualizzare i dati, si dice che si trasferisce il controllo (forward) alla JSP. 4

Approccio Servlet-centric (6) Per trasferire il controllo è necessario creare un oggetto di tipo RequestDispatcher associato alla JSP che si vuole 'invocare'. Ci sono due modi equivalenti per definire un oggetto RequestDispatcher associato ad una JSP all'interno di una servlet: RequestDispatcher rd = request.getrequestdispatcher( PathRelativoJSP") RequestDispatcher rd = getservletcontext.getrequestdispatcher( PathAssolutoJSP") Approccio Servlet-centric (7) Una volta ottenuto l'oggetto RequestDispatcher, è sufficiente invocare il metodo forward(httpservletrequest, HttpServletResponse) per trasferire MOMENTANEAMENTE il controllo alla JSP. Attenzione! Non è un browser redirect e nemmeno una terminazione del metodo doget o dopost della servlet... è una semplice chiamata di metodo. Tutto il codice presente DOPO forward(httpservletrequest, HttpServletResponse) verrà eseguito dopo che la JSP ha finito la sua esecuzione! 5

Esempi da scaricare 1. Scaricare nella directory ~/tomcat/webapps/corsostudi le JSP: ElencoCorsiStudio.jsp e dafare.jsp dalla pagina web del corso. 2. La JSP ElencoCorsiStudio.jsp consente la visualizzazione dei corsi di studio dell ateneo. La JSP dafare.jsp segnala che la funzionalità è da implementare. 3. Per far funzionare questo esempio è necessario: 1. Scaricare il file main.java dalla pagina web del corso nella directory ~/tomcat/src/corsostudi. 2. Compilare il package did e la servlet main nel seguente modo: javac d../../webapps/corsostudi/web-inf/classes main.java./did/*.java 3. Dichiarare la servlet main nel file web.xml in webapps/corsostudi/web-inf Esempi da scaricare 4. Per vedere le pagine web prodotte dall applicazione (come dichiarato nel file web.xml): http://localhost:8080/corsostudi/servlet/main 5. Completare la conversione dell applicazione CorsoStudi all architettura MVC servlet-centric (vedi esercizio proposto). Modificare la servlet Main per la gestione del flusso di esecuzione, con i parametri indicati nel testo dell esercizio. Aggiungere le due JSP mancanti per la visualizzazione delle informazioni sul singolo corso di studi e della lista di insegnamenti per anno accademico. 6

Consegna Esercitazione 9 Inviare via email al docente un file di nome ES9-<matricola>.zip contenente tutti i file dell applicazione sviluppata presi dalle directory: ~/tomcat/src/corsostudi e ~/tomcat/webapps/corsostudi. Il messaggio dovrà soddisfare il seguente formato: Oggetto: <Matricola> - Esercitazione 9 Contenuto: <Matricola> - <Cognome> - <Nome> Allegato: file di nome ES9-<Matricola>.jsp Il messaggio email va spedito entro le 24.00 del giorno 25 maggio 2011. Riferimenti Marty Hall. CORE. Servlets and JavaServer Pages. Sun Microsystems Press. Phil Hanna. JSP. La guida Completa. McGraw- Hill. 7