Laboratorio di Basi di Dati e Web



Documenti analoghi
Architettura Model-View-Controller (MVC)

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati/ Basi di dati per Bioinformatica

Architettura MVC-2. Alberto Belussi. Anno accademico 2006/2007

Architettura MVC-2 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Verso l architettura MVC-2

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

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web. Docente: Alberto Belussi

JDBC: breve riepilogo (1)

Laboratorio di Basi di Dati. Docenti: Alberto Belussi Lezione 7

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

Laboratorio di Basi di Dati e Web

Basi di dati Basi di dati per bioinformatica

Antonio d Acierno 13/01/2006

Basi di Dati II. Introduzione al corso

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

Alma Mater Studiorum Università di Bologna. Scuola di Ingegneria. Tecnologie Web T. Esercitazione opzionale Spring MVC

Alma Mater Studiorum Università di Bologna. Scuola di Ingegneria e Architettura. Tecnologie Web T. Esercitazione opzionale Spring MVC

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

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

Prova scritta del 13 luglio 2010

Laboratorio di Basi di Dati e Web

CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION

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

Siti web centrati sui dati Architettura MVC-2: JSP

Introduzione alle JSP

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

modulo: siti web centrati sui dati

Verso l architettura MVC-2 i JavaBeans

PRIMO MODULO. DURATA: 80 ore CONTENUTI

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

Strutture di accesso ai dati

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di dati

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

L architettura MVC (Model- View-Controller) Introduzione

Tecnologie di Sviluppo per il Web Lab. di Tecnologie di Sviluppo Web

Corso Programmazione Java Avanzato

Basi di dati. Docente Prof. Alberto Belussi. Anno accademico 2009/10

JDBC. Paolo Atzeni. 11 marzo Progettazione di applicazioni, una premessa

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

SWIM v2 Design Document

Introduzione a Java Servlet Technology

Programmazione modulare

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

Introduzione alla Programmazione per il Web

Progetti Algoritmi e Strutture Dati A.A Si intende realizzare una coda di priorità mediante un max-heap.

INGEGNERIA DEI SISTEMI SOFTWARE E DEI SERVIZI DI RETE PROGETTO GQM + STRATEGIES. Luca Mastrogiovanni Marco Vasselli 16 Dicembre 2013

Server-side Programming: Java servlets Parte I

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

Una metodologia di progettazione di applicazioni web centrate sui dati

Tito Flagella - Introduzione alla programmazione di Servlet

Corso di Applicazioni Telematiche

System Design (SD) MGT MiGiocoTutto

Java Servlet. Corso di Applicazioni Telematiche. A.A Lezione n.10 Prof. Roberto Canonico

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma

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

Java il Corso Fondamentale

Tecnologie di Sviluppo per il Web

Basi di dati - Laboratorio

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

L architettura software generale

Tecnologie di Sviluppo per il Web

Corso di Informatica. Software di produttività personale e database. Ing Pasquale Rota

Tecnologie di Sviluppo per il Web

ACADEMY SVILUPPATORE JAVA

Guida introduttiva su Eclipse. Ing. Marco Dell'Unto

Architetture Web: un ripasso

TALKING PAPER MANUALE D USO

03FYZ TECNICHE DI PROGRAMMAZIONE Istruzioni per effettuare il fork di un repository GitHub

EMPLOYEE SELF-SERVICE DATI ANGRAFICI E MODULISTICA MANUALE UTENTE

Tesina esame Programmazione di Sistemi Mobile Realizzato da Roberto Giuliani Matricola icloud. Inserimenti, modifiche e cancellazioni

Architettura Client-Server. In a nutshell

Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC

Progetto Gennaio 2017

DOCUMENTAZIONE WEB RAIN - ACCESSO CLIENTI

Università degli Studi di Enna Kore Facoltà di Ingegneria ed Architettura

Le tecnologie software Internet

Tecnologie di Sviluppo per il Web

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

Linguaggi. - lezione 00 - Informazioni generali sul corso. Informazioni generali. Chiarimenti e informazioni

Le tecnologie software Internet

RICHIESTA CERTIFICATO DI AGIBILITÀ IMPRESE CHE OCCUPANO LAVORATORI DEL SETTORE DELLO SPETTACOLO

QUESITI PROVA SCRITTA

Esercitazione: Il DBMS MySQL. Insegnamento di Basi di Dati. Laurea in Ingegneria Informatica SAPIENZA Università di Roma

SETA Selection Tool del Sistema ARTIST

ALBO VOLONTARIATO (v. 2.1) UTENTE ORGANIZZAZIONE VOLONTARIATO

1 1/5. Corso di Ingegneria del Web /08. Progetto WebMovie. Premessa. Specifiche del Sito

Piattaforma E-LEARNING

Tool di. Personalizzazione. Adattamento della procedura

Corso di Tecnologie Web L-A

Transcript:

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

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

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

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 4) Java Data Beans 1) Richiesta dati Servlet generica 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.

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.

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 = req.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!

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 riorganizzare la directory ~/tomcat/src/corsostudi nel seguente modo (già descritto nella precedente esercitazione): 1. Spostare i file contenuti nella directory Servlet_With_Bean nella directory ~/tomcat/src/corsostudi. Eliminare la directory Servlet_With_Bean. 2. Restando nella directory ~/tomcat/src/corsostudi scaricare il pacchetto srccorsostudi.zip e scompattarlo. 3. Modificare i parametri di connessione al database. 3. Compilare il package beandid e la servlet main nel seguente modo: javac d../../webapps/corsostudi/web-inf/classes main.java./beandid/*.java 4. Modificare il file.bashrc inserendo la riga: CLASSPATH=$CLASSPATH:~/tomcat/webapps/CorsoStudi/WEB-INF/classes 5. Riaprire una nuova shell e riavviare Tomcat.

Esempi da scaricare 4. Per vedere le pagine web prodotte dall applicazione: 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.

Riferimenti Marty Hall. CORE. Servlets and JavaServer Pages. Sun Microsystems Press. Phil Hanna. JSP. La guida Completa. McGraw- Hill. Dott. Roberto Posenato. Materiale del corso di Laboratorio di Basi di Dati e Web (Anno Accademico 2001/2002).