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

Documenti analoghi
1 Gestione dell utente connesso in sessione con Java Server Pages, Java Beans, Servlet

Gestire le sessioni con le Servlet

Introduzione alla programmazione Http lato server in Java

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

Note pratiche sullo sviluppo di servlet (I)

Tener traccia del client

Osservazioni. Laboratorio di Tecnologie Lato Server - V.Della Mea e I.Scagnetto, a.a. 2005/06-1

SERVLET & JSP DISPENSE

TRENTO 09 APRILE 2013 CATASTO FABBRICATI. INVIO TELEMATICO OPENKat. a cura del GEOM. ALBERTO FRONZA. Provincia Autonoma di Trento

Laboratorio di sistemi Prima Web Application JSP [Java]

I file WAR. Laboratorio di Tecnologie Lato Server - V.Della Mea e I.Scagnetto, a.a. 2004/05-1

Servlet e JDBC. Servlet e Web Server. Servlet e Web Server. Servlet e Web Server. Richieste. Servlet. Servlet:

Trasformare una Java (Console) Application in una Web Application (con utilizzo di un database MySQL)

Accreditamento al portale di Roma Capitale

Le tecnologie software Internet

MANUALE UTENTE PROCEDURA PLANET WEB INTERPRISE (II edizione)

Le tecnologie software Internet

Laboratorio di sistemi MVC versione 2 Jsp (NetBeans)

Accesso Web a Data Base

Architetture Web: un ripasso

ISCRIZIONI ON LINE Registrazione delle famiglie. Direzione generale per gli studi, la statistica e i sistemi informativi

Università per Stranieri di Siena

Manuale utente Soggetto Promotore Erogatore Politiche Attive

Database & WWW. Basi di dati Architetture e linee di evoluzione P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone

Progetto di Gestione Documenti in Ambiente Web

Introduzione ad AJAX

Lezione di Basi di Dati 1 18/11/ TECNOLOGIE PER IL WEB: CGI - AJAX SERVLETS & JSP

Progetto B. Utenti. Di conseguenza si potranno avere solo utenti di questi tipi

Architetture Web I Server Web e gli Standard della Comunicazione

GUIDA PRATICA PER L UTILIZZO DEL PORTALE RICAMBI

Servlet API. Programmazione in Ambienti Distribuiti A.A

APPENDICE - Pratiche di radiazione Polo ACI

Manuale Utente CMMG Corso Medici Medicina Generale

Programmazione server-side: Java Servlet

Manuale del software Supplemento. Comunicazione tra sensore per rilevamento oggetti O2D2xx e Siemens Simatic S / / 2011

Procedura operativa per la gestione della funzione di formazione classi prime

DEFINITE LE MODALITÀ DI INVIO DELLE SPESE SANITARIE PER MEDICI E ODONTOIATRI PER IL MOD. 730 PRECOMPILATO

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo.

Test e validazione 1 La fase di test 1.1 Tecniche Ispezione: checklist Test white box: grafo di controllo complessità ciclomatica

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

Manuale Sito Videotrend

Laboratorio di Basi di Dati

MADA Fleet Solution. Interfaccia Grafica. Breve panoramica sulle funzionalità disponibili. Sezione Punti vendita

Valutazione del personale

Guida alla registrazione dal Portale

ACCESSO ALLA POSTA ELETTRONICA TRAMITE OUTLOOK WEB ACCESS

6. Gestione delle pratiche

Tecnologie di Sviluppo per il Web

Guida per il cittadino

ALLEGATO: ISTRUZIONI PER L OPERATORE DI SEDE PER ACQUISIRE LE DOMANDE TELEMATICHE DI RICONGIUNZIONE

SERVIZIO GRUPPO BANCA POPOLARE DI BARI

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste

Chat. Si ha un server in ascolto sulla porta Quando un client richiede la connessione, il server risponde con: Connessione accettata.

Manuale cliente finale portale accertamenti delibera 40

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

2011 Politecnico di Torino 1

SPORTELLO DIPENDENTE. - Personale amministrativo tecnico ausiliario (A.T.A.);

Laboratorio di Basi di Dati e Web

Fattura Elettronica e Piattaforma Certificazione dei Crediti (PCC).

Corso di Reti di Calcolatori L-A

Laboratorio di Basi di dati

M n a u n a u l a e l e o p o e p r e a r t a i t v i o v o Ver /12/2014

EMPLOYEE SELF-SERVICE DATI ANGRAFICI E MODULISTICA MANUALE UTENTE

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

Istruzioni per l autoinserimento di partecipazioni volontarie ad eventi formativi esterni

Guida per il deposito telematico della NOTA DI ACCOMPAGNAMENTO Pignoramento presso Terzi Esec. Mobiliare tramite Consolle dell Avvocato

Architetture Web I Server Web e gli Standard della Comunicazione

Laboratorio di reti II: Java Server Pages

Guida all utilizzo di Campaign Builder

INTRODUZIONE AI PRINCIPI DELLO SVILUPPO DI APPLICAZIONI WEB INTERATTIVE

Capitolo 7. Sviluppi futuri. 7.1 Generazione automatica di pagine WML

SuisServices comprende attualmente i seguenti strumenti di supporto all attività aziendale:

Firma Digitale Corporate Gestione Certificati

18/05/2016 MANUALE UTENTE

Utilizzo della SAPGUI ed accesso al sistema SAPLight

GESTIONE ACCESSI AI SERVIZI WEB DELLE CO

Sistema Versamento Tariffe Pagamenti On Line. Manuale Utente Profilo Azienda


Manuale Operativo Gestione dei Ticket di assistenza 15 Marzo 2016

Gestione Imposta di Soggiorno Manuale per le strutture ricettive

III Fase. Gestione dell Impresa: Magazzino

Tomcat & Servlet. Contenuti. Programmazione in Ambienti Distribuiti. Tomcat Applicazioni Web. Servlet JSP Uso delle sessioni

Gestione di files Motivazioni

1 JSPDynPage, componenti portale e Java Server Pages

Applet e servlet finanziarie

Svantaggi delle servlet

Realizzare una piccola chat in php senza database

Laboratorio di reti II: Servlet

2016 PostFinance. Possibili errori

Protocollo. per il. gioco a distanza PGAD

NOTE PER IL CONTROLLO E L INVIO TRAMITE L APPLICATIVO ENTRATEL

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

SVI Nuovo Sistema Revisioni

ISCRIZIONE ASPIRANTI TIROCINANTI

ALLEGATO 4 LIVELLI DI SERVIZIO E PENALI PER LA CONDUZIONE DELLA RETE DISTRIBUTIVA FISICA

Tomcat. Laboratorio di Tecnologie Lato Server - V.Della Mea e I.Scagnetto, a.a. 2006/07-1

Finanziaria 2007 Incentivo all utilizzo di motori EFF 1 e inverter

APERTURA DIGITALE DEL CONTO DEPOSITO

Inizio sessione e accesso area personale

PROFESSIONISTA IN REGIME ORDINARIO

Transcript:

Alma Mater Studiorum Università di Bologna Scuola di Ingegneria e Architettura Tecnologie Web T Esercitazione 09 Riepilogo Home Page del corso: http://www-db.disi.unibo.it/courses/tw/ Versione elettronica: L.09.Riepilogo.pdf Versione elettronica: L.09.Riepilogo-2p.pdf Esercitazione 07 1 «Liberamente» tratto da Esame del 19 Gennaio 2012 Realizzare un applicazione Web per ricerca di macchine in vendita in una concessionaria tramite l inserimento di targhe, basandosi principalmente su tecnologia Javascript A tal fine si realizzi una pagina HTML che mostri un campo di testo in cui inserire un numero di targa. Dato che la targa è composta unicamente da caratteri alfanumerici, l applicazione deve cancellare automaticamente qualunque carattere inserito che NON sia cifra o carattere alfabetico 2 1

Tratto da Esame del 19 Gennaio 2012 Inoltre, per velocizzare la fase di inserimento dati, non appena sono stati inseriti 7 caratteri (per ipotesi dimensione fissa di una targa) l applicazione invia la targa a una Servlet CercaMacchine tramite AJAX e azzera il campo di testo Servlet CercaMacchine risponde con info relative alla targa inserita restituendo un oggetto DescrizioneMacchina (serializzato tramite JSON) che specifica modello e colore della macchina In particolare, l oggetto DescrizioneMacchina deve essere ricostruito mediante una operazione CRUD di tipo Retrieve (con metodologia a scelta) su tabella DB2 MACCHINA in cui sono mantenuti persistentemente i dati delle automobili 3 Tratto da Esame del 19 Gennaio 2012 Una volta ricevuto l oggetto DescrizioneMacchina serializzato tramite JSON, si modifichi pagina HTML al fine di mostrare le informazioni relative alla macchina appena cercata, avendo cura di mostrare sempre le informazioni relative alle ultime 3 macchine trovate 4 2

Possibile Pagina Web Vedi possibilità di utilizzare <html> funzionalità di base definite in utils.js <head> <script type="text/javascript" src="scripts/utils.js"></script> <script type="text/javascript" src="scripts/concessionaria.js"> </script> </head> <body> <form> targa: <input type="text" id="targa" value="" onkeyup= "checktarga( mygetelementbyid('targa'), mygetelementbyid('results') ) /><br /> </form> <ol id="results"></ol> 5 Alcuni Punti Cruciali Codice concessionaria.js function parsificajson( jsontext ) { var macchina = JSON.parse(jsonText); var risultato = 'macchina.modello = ' + macchina.modello + ', macchina.colore = ' + macchina.colore; return risultato; // parsificajson() 6 3

Alcuni Punti Cruciali Codice concessionaria.js function concessionariacallback( thexhr, targa, resdiv ) { // verifica dello stato if ( thexhr.readystate === 2 ) { // theelement.innerhtml = "Richiesta inviata..."; else if ( thexhr.readystate === 3 ) { // theelement.innerhtml = "Ricezione della risposta..."; else if ( thexhr.readystate === 4 ) { // verifica della risposta da parte del server if ( thexhr.status === 200 ) { if ( thexhr.responsetext ) { var li = resdiv.childnodes; if( li.length == 3 ){ resdiv.removechild(li[2]); resdiv.innerhtml = '<li>'+ 'targa = '+targa+', '+parsificajson(thexhr.responsetext) + '</li>'+ resdiv.innerhtml; else { // non faccio niente 7 Alcuni Punti Cruciali Codice servlet import it.unibo.tw.es2.beans.descrizionemacchina; import org.jabsorb.jsonserializer; import org.jabsorb.serializer.marshallexception; public class CercaMacchine extends HttpServlet { private static final long serialversionuid = 1L; Nel caso di uso di mem persistente, sostituire @Override questo codice con vero public void init() throws ServletException { accesso CRUD Hashtable<String,DescrizioneMacchina> db = new Hashtable<String,DescrizioneMacchina>(); db.put("aa111aa",new DescrizioneMacchina("m1","c1")); db.put("bb222bb",new DescrizioneMacchina("m2","c2")); db.put("cc333bb",new DescrizioneMacchina("m3","c3")); this.getservletcontext().setattribute("db", db); JSONSerializer serializer = new JSONSerializer(); try { // inizializza i tipi serializzatori forniti di default serializer.registerdefaultserializers(); catch this.getservletcontext().setattribute("serializer", serializer); 8 4

Alcuni Punti Cruciali Codice servlet @Override protected void doget(httpservletrequest req, HttpServletResponse resp) throws ServletException, IOException { String targa = req.getparameter("targa"); if( targa!= null ){ Hashtable<String,DescrizioneMacchina> db = (Hashtable<String,DescrizioneMacchina>)this. getservletcontext().getattribute("db"); DescrizioneMacchina macchina = db.get(targa); if( macchina == null ){ macchina = new DescrizioneMacchina("errore","errore"); JSONSerializer serializer = (JSONSerializer)this. getservletcontext().getattribute("serializer"); try { String output = serializer.tojson(macchina); resp.getoutputstream().print(output); catch Come sopra 9 5