Server-side Programming: Java servlets Parte I
|
|
- Clemente Deluca
- 5 anni fa
- Visualizzazioni
Transcript
1 Corso di Laurea Magistrale in Ingegneria Informatica Corso di Laurea Magistrale in Ingegneria delle Telecomunicazioni Corso di Reti di Applicazioni Telematiche Server-side Programming: Java servlets Parte I Simon Pietro Romano spromano@unina.it
2 Agenda Servlet: Parte I Concetti introduttivi Ciclo di vita delle servlet; servlet request, servlet response, servlet config, servlet context Learn by Example Esempi di servlet generiche Configurazione delle web application Introspezione della richiesta HttpServlet: HttpServletRequest, HttpServletResponse Learn by Example Un esempio di servlet HTTP Introspezione della richiesta HTTP
3 Le servlet Una servlet è un componente Java che può essere collegato ad un server per migliorarne ed estenderne le funzionalità Tali funzionalità possono includere: Nuovi servizi; Modifiche del contenuto al tempo di esecuzione; Modifiche della presentazione al tempo di esecuzione; Supporto di protocolli standard (ad es: FTP); Supporto di nuovi protocolli. Il server può essere di qualsiasi tipo, purché sia dotato del supporto Java: Nella maggior parte dei casi, tuttavia, le servlet sono utilizzate per estendere i server Web
4 Servlet vs approccio CGI (1/3) Portabilità: Essendo scritte in Java, le servlet possono essere eseguite, potenzialmente, su qualsiasi server ed in qualunque sistema operativo Potenza: Le servlet possono sfruttare a pieno la potenza delle API Java tradizionali: Connessione in rete, multithreading, manipolazione immagini, compressione dati, connettività a database (JDBC), serializzazione di oggetti, invocazione dei metodi remoti, messaggistica, ecc. Efficienza e resistenza: Una volta caricata, una servlet rimane in memoria come singola istanza di oggetto in seguito, il server richiama la servlet per gestire una richiesta utilizzando una semplice invocazione di metodo Nessun processo da generare o interprete da richiamare Richieste concomitanti sono gestite da thread separati, a tutto vantaggio della scalabilità.
5 Servlet vs approccio CGI (2/3) Sicurezza: Ereditano la sicurezza a livello di tipi che caratterizza il linguaggio Java: I valori vengono manipolati dalle servlet con i loro tipi nativi: Es: un numero di porta è un intero, non una stringa (come avviene in CGI) La memoria è gestita in maniera efficiente grazie alla garbage collection ed all assenza di puntatori Il supporto degli errori è ottimizzato, grazie all uso delle eccezioni Un server ha il controllo completo sull accesso alle proprie servlet (grazie all utilizzo di un gestore di protezione o di un controllore di accesso)
6 Servlet vs approccio CGI (3/3) Eleganza: Il codice delle servlet è: Pulito ; Orientato agli oggetti; Modulare; Semplice! Integrazione: Le servlet sono strettamente integrate con il server che le ospita, rendendo estremamente semplice realizzare operazioni quali: Tradurre percorsi di file; Eseguire operazioni di logging; Verificare autorizzazioni; Estensibilità: La servlet API è concepita in modo da essere facilmente estensibile: Studieremo, ad esempio, nelle prossime lezioni, le SIP servlet
7 Servlet: paradigma di interazione Le servlet sono state progettate per funzionare in un contesto basato sul paradigma richiesta/risposta: Un cient invia un messaggio di richiesta ad un server; Il server risponde inviando al client un messaggio di risposta. Le richieste possono essere incapsulate in: messaggi di protocolli standard: HTTP: Hyper Text Transfer Protocol; FTP: File Transfer Protocol SMTP: Simple Mail Transport Protocol Messaggi di protocolli definiti ad-hoc
8 Il concetto di sessione Richiesta e relativa risposta riflettono lo stato del cliente e del servente al tempo della richiesta Normalmente, lo stato della connessione client/server non può essere preservato attraverso differenti coppie richiesta/risposta tuttavia, appositi meccanismi consentono alle servlet di definire il concetto di sessione, grazie al quale risulta possibile tenere traccia dello stato della comunicazione: questo argomento sarà trattato nella seconda parte della lezione
9 Funzioni svolte dalle servlet Leggere dati espliciti inviati da un client Es: all interno di una form HTML Leggere dati impliciti inviati da un client Es: header di una richiesta HTTP Elaborare una richiesta Inviare dati espliciti verso un client Es: una pagina HTML Inviare dati impliciti verso un client Es: header della risposta HTTP, o informazioni sullo stato della sessione
10 Perché costruire pagine Web dinamiche? Perché la risposta si basa sui dati inviati dall utente: risultati di ricerche; pagine di conferma di ordini effettuati on-line (ecommerce). Perché la risposta dipende da dati che cambiano di frequente: previsioni del tempo via Internet; notizie in tempo reale. Perché la risposta usa informazioni memorizzate in basi di dati o in altre sorgenti di informazioni disponibili presso il server: gestione del magazzino per i siti di commercio elettronico
11 Perché Java? L utilizzo di Java server-side sta guidando lo sviluppo del Web Salite a bordo o levatevi di mezzo*! J * Get on board or get out of the way, Marty Hall, autore di Core Servlets & JSP ---
12 Alcuni servlet container
13 Ruolo architetturale delle servlet Grazie alla loro potenza e flessibilità, le servlet giocano un ruolo fondamentale nell architettura di un sistema Esse possono: Svolgere le elaborazioni tipiche del middle tier* di applicazioni a tre livelli; Agire da proxy per i clienti; Migliorare le caratteristiche del sistema supporto di nuove funzionalità e nuovi protocolli. * Il middle tier svolge il ruolo dell application server nei sistemi client/server a tre livelli (three tier): esso si posiziona, cioè, tra un client leggero (tipo browser) ed una sorgente di dati persistenti (file system, base di dati, ecc.) Il modello three tier sarà oggetto di studio di questo corso
14 Le servlet nel middle-tier In molti sistemi, il livello centrale funge da collegamento tra i clienti ed i servizi cosiddetti di back-end Grazie all introduzione di tale livello, gran parte del carico di elaborazione può essere alleggerito: Lato client: applicazioni più leggere e più veloci Lato server: possibilità di focalizzarsi esclusivamente sulla propria missione
15 Le servlet ed il supporto ai protocolli La Servlet API fornisce uno stretto legame tra un server (o servlet container) e le servlet Ciò consente alle servlet di abilitare, in un server, il supporto di nuovi protocolli, purché basati sul paradigma richiesta/risposta: Oltre ad HTTP (che sarà oggetto di approfondimento), altri possibili esempi sono: FTP POP SMTP SIP
16 La Java Servlet API Si tratta di un Application Programming Interface che definisce in maniera esauriente il legame che intercorre tra un server e le servlet che esso ospita E definita come un estensione del Java Development Kit (JDK) standard A partire dalla versione 2.2 della API (la versione attuale è la 3.0), le servlet sono integrate nella specifica della piattaforma J2EE (Java 2 Enterprise Edition)
17 Servlet API: versioni ed evoluzione
18 Componenti della Servlet API javax.servlet Interfacce e classi necessarie per supportare servlet generiche, indipendenti dal protocollo javax.servlet.http Classi che estendono le precedenti per aggiungere funzionalità specifiche del protocollo HTTP NB: javax : nome del pacchetto di livello superiore, utilizzato per tutte le estensioni (extensions) standard del JDK
19 Funzioni della API La Servlet API fornisce il supporto per quattro funzioni fondamentali: Gestione del ciclo di vita delle servlet Accesso al servlet context Classi di utilità Classi specifiche per il supporto del protocollo HTTP
20 HTTP Servlet API e ciclo di vita Client Web Container Servlet Methods init() HTTP Request Rules servlet service() destroy() doget() HTTP Response HTTP Response HTTP Response dopost() doput() Error Response Error Response
21 Il ciclo di vita delle servlet Le servlet vanno in esecuzione all interno di un contenitore, rappresentato dalla piattaforma del web server che le ospita: Esse appartengono al medesimo processo che realizza le funzionalità del server web; Il server web è responsabile dell inizializzazione, dell invocazione e della distruzione di ciascuna istanza di servlet; Il server web comunica con una servlet attraverso una semplice interfaccia: javax.servlet.servlet Tale interfaccia consiste in: Tre metodi principali: init() service() destroy() Due metodi ausiliari: getservletconfig() getservletinfo()
22 Servlet ed applet Esiste una notevole somiglianza tra l interfaccia Servlet e l interfaccia delle applet Java Si tratta, in effetti, di una precisa scelta progettuale: Le servlet stanno ai server web come le applet stanno ai browser web Un applet gira in un browser, effettuando azioni che vengono richieste attraverso un interfaccia specifica Una servlet rispecchia il medesimo paradigma, ma è localizzata all interno di un server piuttosto che di un browser
23 Il metodo init() (1/2) Alla prima invocazione di una servlet, viene chiamato il suo metodo init() Ciò consente alla servlet di effettuare tutte le operazioni necessarie per la configurazione iniziale: apertura di file, connessione ad un database di backend, ecc. Se la servlet è stata installata nel server in maniera permanente, allora il server la carica non appena viene lanciato in esecuzione In caso contrario, il server attiva la servlet quando riceve la prima richiesta, da parte di un client, relativa a servizi da essa forniti
24 Il metodo init() (2/2) Tutte le implementazioni della servlet API garantiscono che il metodo init() abbia terminato l esecuzione prima che venga invocato uno qualsiasi degli altri metodi della servlet init() verrà invocato esattamente una volta: Esso sarà eseguito nuovamente solo nel caso in cui la servlet venga disattivata e successivamente ricaricata dal server web
25 Il metodo service() Il metodo service() rappresenta il cuore di qualsiasi servlet: Ogni messaggio di richiesta proveniente da un client si traduce in una singola chiamata a tale metodo, il quale si occupa di: Leggere la richiesta; Produrre la risposta. service() richiede due parametri: Un oggetto ServletRequest: Contenente (sotto forma di coppie del tipo nome/valore) i dati provenienti dal client. Un oggetto ServletResponse: Rappresenta la risposta che la servlet invia al client
26 Il metodo destroy() Richiamato per consentire ad una servlet di rilasciare eventuali risorse in uso memoria, file aperti, connessioni a database, ecc. Eseguito prima che il proprio ciclo di vita giunga a termine prima, cioè, che la servet venga scaricata dal server Nel caso in cui la servlet non impegni nessuna risorsa, tale metodo può essere vuoto Il contenitore delle servlet chiama il metodo destroy() quando: Tutte le chiamate al metodo service() sono state completate Un timeout opportunamente fissato è scaduto Ciò significa che il metodo destroy() può essere chiamato mentre qualche richiesta di servizio è ancora attiva E buona norma scrivere il proprio metodo destroy() per evitare di rilasciare risorse necessarie al corretto completamento di eventuali chiamate al metodo service() ancora attive
27 Dalla teoria alla pratica Learn by example: La prima servlet del corso di Applicazioni Telematiche Scrivere una servlet implementando l interfaccia javax.servlet La servlet stampa semplici messaggi sulla console del web server Analizzare, in particolare, il funzionamento dei metodi init() e service()
28 Codice della servlet
29 Esecuzione della servlet Ingredienti necessari: File della Servlet API import javax.servlet.*; Servlet container Noi utilizzeremo il server Apache Tomcat In tal caso, dopo la compilazione il codice della servlet va messo nella seguente directory standard :» Cartella_radice/webapps/Nome_Web_App/WEB-INF/classes» Più avanti vedremo come gestire tale configurazione» Per gli esempi di questa lezione:» Nome_Web_App = AT-ServletSamples
30 Configurazione di Tomcat Configurazione base di Tomcat per l esecuzione delle servlet
31 Un semplice test Provate a rispondere alle seguenti domande: Qual è l output atteso in seguito alla prima attivazione della servlet descritta? cambia qualcosa se la medesima servlet viene attivata nuovamente?
32 Risultato dell esecuzione Alla prima attivazione, viene innanzitutto richiamato il metodo init() Appena init() termina l esecuzione, viene richiamato il metodo service() Per ogni successiva attivazione della medesima servlet, si invoca il metodo service(): non è più necessaria alcuna inizializzazione
33 Come semplificarsi la vita E sempre necessario implementare tutti i metodi dell interfaccia Servlet? No! Il package javax.servlet contiene una classe astratta, chiamata GenericServlet, la quale: Definisce una servlet generica, indipendente dal protocollo Implementa le interfacce Servlet e ServletConfig Fornisce semplici versioni:» dei metodi init() e destroy() del ciclo di vita» Di tutti i metodi previsti nell interfaccia ServletConfig Per scrivere una servlet generica, l unica cosa da fare è scrivere (override) il metodo astratto service()
34 Un occhio alla documentazione
35 Un esempio di servlet generica
36 Esecuzione della servlet Il risultato di due successive attivazioni della servlet E il metodo init()? E stato eseguito o meno?
37 Output della servlet Nei due esempi mostrati, l output della servlet è stato stampato sulla console del server web: System.out.println( "Una servlet generica..." ); Com è possibile far sì che l output della servlet sia inviato al client che l ha contattata? Si utilizzano i metodi getoutputstream() o getwriter() messi a disposizione dall oggetto ServletResponse
38 Esempio
39 Output dell esempio In questo caso, l output è stato inviato verso il browser client!
40 Formattazione dell output E se volessimo stampare una pagina html? Dovremmo usare il metodo setcontenttype() (anch esso messo a disposizione dall oggetto ServletResponse) per configurare il MIME type della risposta
41 Esempio
42 Output dell esempio In questo caso, l output è stato formattato in html
43 Il metodo setcontenttype() E importante configurare il MIME type della risposta? Si! Esercizio: Si provi a cambiare il MIME type dell output della precedente servlet (si utilizzi, ad esempio, il tipo testo semplice ) e si osservino i cambiamenti
44 Codice della servlet di esempio NB: il content type è di tipo testo semplice
45 Output della servlet In questo caso, il medesimo output non è stato interpretato come html, ma come semplice testo
Corso di Applicazioni Telematiche
Corso di Applicazioni Telematiche A.A. 2008-09 Lezione n.12 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Una Servlet è un componente software scritto in Java,
DettagliServer-side Programming: Java servlets Parte II
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Corso di Reti di Applicazioni Telematiche a.a. 2009-2010 Server-side Programming:
DettagliTito Flagella - Introduzione alla programmazione di Servlet
Introduzione alla programmazione di Servlet Caratteristiche di base Estensioni del server scritte in Java utilizzando la Servlet API La Servlet API è diventata un estensione standard di Java, dalla versione
DettagliAntonio d Acierno 13/01/2006
Introduzione alle Servlet Corso di Sistemi Web e Basi Dati Prof. Antonio d Acierno Servlet Alternativa Java ai CGI-BIN Classi java che estendono le funzionalità di un server Web generando dinamicamente
DettagliProgrammazione modulare
Programmazione modulare 2018-2019 Indirizzo: Informatica Disciplina: TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Classe: 5B Docente: Maria Lizzi, Giorgio Carnevale Ore settimanali
DettagliProgrammazione server-side: Java Servlet
Programmazione server-side: Java Servlet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.11 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos
DettagliBasi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste. Basi di Dati e Web. Credits to: Prof. M. Di Felice UniBO
Basi di Dati Prof. Alfredo Cuzzocrea Università degli Studi di Trieste Basi di Dati e Web Credits to: Prof. M. Di Felice UniBO " Molti sistemi software prevedono la presenza di un database gestito da un
Dettaglimodulo: siti web centrati sui dati
Basi di dati e Web modulo: siti web centrati sui dati Alberto Belussi anno accademico 2008/2009 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento per la diffusione
DettagliBasi di Dati Architetture Client/Server
Basi di Dati Architetture Client/Server Architettura centralizzata Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo Tutta l intelligenza
DettagliArchitetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo
Basi di dati Basi di Dati Architetture Client/Server Architettura centralizzata Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo Tutta
Dettagli3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni
IIndice Capitolo 1 Da dove partiamo: pagine web statiche 1 1.1 Principi di base.............................. 1 1.1.1 Il paradigma client-server.................... 1 1.1.2 Ipertesto, multimedia, ipermedia................
DettagliArchitetture Client/Server e World Wide Web
Basi di Dati Architetture Client/Server e World Wide Web Il World Wide Web Il web è una ragnatela (grafo) di contenuti (nodi) collegati tra loro attraverso collegamenti (link) I nodi sono documenti e/o
DettagliArchitetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo
Basi di Dati Architetture Client/Server D B M G Architettura centralizzata Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo Tutta l intelligenza
DettagliJava Servlet. Corso di Applicazioni Telematiche. A.A Lezione n.10 Prof. Roberto Canonico
Java Servlet Corso di Applicazioni Telematiche A.A. 2005-06 Lezione n.10 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos è una Servlet? Una Servlet è un componente
DettagliIntroduzione a Java Servlet Technology
Introduzione a Java Technology SAPIENZA Università di Roma Corso di Architetture Software Orientate ai Servizi Chi ha conosciuto quella forma del principio di ragione che apparisce nel tempo puro in quanto
DettagliBasi di Dati-IX. Basi di dati e web. Introduzione. Schema. Basi di dati e web. Corso di Laurea in Informatica Anno Accademico 2013/2014
Schema 2 Basi di Dati-IX Corso di Laurea in Informatica Anno Accademico 2013/2014 Paolo Baldan baldan@math.unipd.it http://www.math.unipd.it/~baldan Basi di dati e web: nozioni generali Basi del linguaggio
DettagliProgrammazione per il Web Riassunto della lezione del 02/03/2015
Programmazione per il Web Riassunto della lezione del 02/03/2015 Igor Melatti Verso le Pagine Web Dinamiche Slides 58 68: riassunto dal corso di Reti in particolare, il fatto che sia senza stato costringe
DettagliProgrammazione modulare
Programmazione modulare 2015-2016 Indirizzo: Informatica Disciplina: TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Classe: 5A e 5B Docente: Maria Lizzi Ore settimanali previste:
DettagliIl World Wide Web. Marco Porta - CIM: Web Design & Technologies
Il World Wide Web 1 Cos è il World Wide Web? Il Web è un sistema basato su Internet che utilizza la tecnologia degli ipertesti per distribuire documenti, immagini, video,... Il Web è un sottoinsieme di
DettagliServlet API. Programmazione in Ambienti Distribuiti A.A. 2003-04
Servlet API Programmazione in Ambienti Distribuiti A.A. 2003-04 Servlet Interfaccia Java che modella il paradigma richiesta/elaborazione/risposta tipico delle applicazioni lato server Presuppone l esistenza
DettagliCLIENT WEB. Strumento di interfaccia tra l utente ed il sistema Web (browser).
CLIENT WEB Strumento di interfaccia tra l utente ed il sistema Web (browser). Funzioni svolte: Riceve ed esegue i comandi dell utente Richiede ad un server (web server) i documenti Interpreta i formati
DettagliIntroduzione. Java HTTP. G. Prencipe
Java html e http G. Prencipe prencipe@di.unipi.it Introduzione Tutte le comunicazioni tra client e server Web avvengono mediate il (HyperText Transfer Protocol, attualmente alla versione 1.1), che è un
DettagliRicevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano)
Come contattarmi Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano) Telefono : 0521 / 90 5731 Email : stefano.cagnoni@unipr.it Sito del corso : http://www.ce.unipr.it/people/cagnoni/didattica/basidati
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Applicazioni Web J2EE: Java Servlet Parte a versione 3.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca
DettagliIntroduzione alla programmazione Http lato server in Java
Introduzione alla programmazione Http lato server in Java Tito Flagella Laboratorio Applicazioni Internet - Università di Pisa Slide API Java Titleper il Protocollo Http Programmazione Client java.net.url
DettagliJDBC. Paolo Atzeni. 11 marzo Progettazione di applicazioni, una premessa
JDBC Paolo Atzeni 11 marzo 2002 Progettazione di applicazioni, una premessa Il paradigma a tre livelli (three-tier) JDBC: la API per far interagire applicazioni Java con basi di dati marzo 2002 P. Atzeni,
DettagliServlet 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 /
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 2 0 1 2 / 2 0 1 3 2 Documentazione: http://www.oracle.com/technetwork/java/javaee/servlet/index.html L approccio SERVLET richiede l installazione
DettagliApplicazioni web. Sommario. Parte 4 http. http Metodi, intestazioni e codici di stato get post Parametri e cookie. Applicazioni web.
Parte 4 http Sommario http Metodi, intestazioni e codici di stato get post Parametri e cookie 1 Http Hyper Text Transfer Protocol Protocollo di livello applicazione per sistemi informativi distribuiti,
DettagliServlet e JDBC. Programmazione in Rete e Laboratorio
Servlet e JDBC Programmazione in Rete e Laboratorio Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-10149 Torino baldoni@di.unito.it http://www.di.unito.it/~baldoni/didattica
DettagliIl Web come Interfaccia Utente di un Sistema Informativo
Web e basi di dati Il Web come Interfaccia Utente di un Sistema Informativo Occorre un meccanismo di interazione con il DBMS (attraverso il server Web) per la specifica di query e/o modifiche, es.. basate
DettagliServlet e JDBC. Servlet e Web Server. Servlet e Web Server. Servlet:
Servlet e JDBC Programmazione in Rete e Laboratorio Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-10149 Torino baldoni@di.unito.it http://www.di.unito.it/~baldoni/didattica
DettagliProgramma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC
Programma didattico Sviluppare Applicazioni Distribuite in ambiente Spring MVC Programma del corso 1.Progettazione e Sviluppo Database Relazionali Questa competenza permette di Progettare e Sviluppare
DettagliCORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION
CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION 0 DURATA 200 ore CONTENUTI Oracle PL/SQL Introduzione al PL/SQL Cenni su SQL con utilizzo di SQL*PLUS Configurazione ambiente Developer DB Classi,
DettagliSERVLET & JSP DISPENSE
SERVLET & JSP DISPENSE PROGRAMMAZIONE LATO SERVER Un server deve rispondere alle richieste del client e permettere di visualizzare le pagine Web. Questo compito è svolto da un software ben definito, il
DettagliArchitetture Web: un ripasso
Architetture Web: un ripasso Pubblicazione dinamica di contenuti. Come si fa? CGI Java Servlet Server-side scripting e librerie di tag JSP Tag eseguiti lato server Revisione critica di HTTP HTTP non prevede
DettagliIntroduzione a Internet e World Wide Web
Introduzione a Internet e World Wide Web Sommario Breve storia di Internet Commutazione di pacchetto e TCP/IP Il Web HTTP HTML CGI... Connessione tra basi di dati e Web Internetworking (collegamento fra
DettagliINTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE
00-PRIME PAGINE 2-07-2003 10:04 Pagina V Indice Prefazione XI PARTE PRIMA INTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE 1 Capitolo 1 Le ragioni di tanto interesse 3 1.1 Enterprise in J2EE 3 Definizione
DettagliLaboratorio di Programmazione di Rete
Laboratorio di Programmazione di Rete Lezione del 15 Marzo 2010 Docente: Novella Bartolini Ricevimento: Mercoledì ore 12:30-14:00 Via Salaria 113, terzo piano, stanza 309 Email: bartolini@di.uniroma1.it
DettagliJava: un linguaggio per applicazioni di rete
Java: un linguaggio per applicazioni di rete Moreno Falaschi Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena March 3, 2014 1 Caratteristiche di Java (SUN) Linguaggio
DettagliProf. Pagani corrado JAVA
Prof. Pagani corrado JAVA NASCITA DI JAVA Java è stato creato, a partire da ricerche effettuate alla Stanford University agli inizi degli anni Novanta, da un gruppo di esperti sviluppatori capitanati da
DettagliProgrammazione per il Web Riassunto della lezione del 29/02/2016
Programmazione per il Web Riassunto della lezione del 29/02/2016 Igor Melatti Esercizi: HTML Statico pag036 form text buttons.html: come mai non si vede nulla dopo il titolo? prima di provare a cliccare:
DettagliLaboratorio di Basi di Dati e Web
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
DettagliCorso Programmazione Java Avanzato
Corso Programmazione Java Avanzato Codice: ITJA0113 Durata: 40 ore Descrizione corso Questo corso fornisce una panoramica sulle tecnologie impiegate per la realizzazione di applicazioni web basate sulla
DettagliEVOLUZIONI DEL CALCOLO WEB. DIREZIONI CORRENTI di EVOLUZIONE Sicuramente il campo applicativo più ampio di dimensioni è il sistema Web stesso
DIREZIONI CORRENTI di EVOLUZIONE Sicuramente il campo applicativo più ampio di dimensioni è il sistema Web stesso Le sfide sono: utilizzo al meglio dei sistemi Web partendo dalla computazione locale per
DettagliI a Prova in Itinere di Telematica di Base 24 marzo 2006
Cognome e Nome: Matricola: I a Prova in Itinere di Telematica di Base 24 marzo 2006 1. Un pacchetto di 20M deve attraversare un collegamento tra due nodi la cui frequenza di trasmissione e di 200Mbs. Il
DettagliD B M G Il linguaggio HTML
Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti
DettagliProgrammazione Web D B M G. Il linguaggio HTML
Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form HTML: HyperText Markup Language Standard
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Programmazione Web: Architetture versione 3.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it
DettagliIntroduzione alle JSP
Introduzione alle JSP Corso di Sistemi Web e Basi Dati Prof. Antonio d Acierno Java Server Page JSP Riferimenti http://java.sun.com/products/jsp http://www.coreservlets.com http://www.html.it/jsp Le JSPs
DettagliArchitettura Model-View-Controller (MVC)
Laboratorio a o o 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
DettagliCorso Programmazione Java Standard
Corso Programmazione Java Standard Codice: ITJS0113 Durata: 40 ore Descrizione corso Questo corso fornisce una panoramica sulle varie sfaccettature della sintassi del linguaggio Java, integrata con mirate
DettagliUna breve presentazione. Basati sulla specifica EJB Sun Microsystems. Consentono di costruire applicazioni ad oggetti distribuite, utilizzando Java
Enterprise JavaBeans Approfondimento per il corso di Sistemi Distribuiti A.A. 2002/2003 Una breve presentazione Basati sulla specifica EJB Sun Microsystems Consentono di costruire applicazioni ad oggetti
DettagliPRIMO MODULO. DURATA: 80 ore CONTENUTI
0 PRIMO MODULO DURATA: 80 ore CONTENUTI 1. Introduzione alla programmazione a. Cosa è la programmazione strutturata b. Strutture dati c. Come si affronta una problematica da risolvere d. Quali sono i passi
DettagliNote pratiche sullo sviluppo di servlet (I)
Note pratiche sullo sviluppo di servlet (I) Nel caso in cui sulla macchina locale (PC in laboratorio/pc a casa/portatile) ci sia a disposizione un ambiente Java (con compilatore) e un editor/ambiente di
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Introduzione Architettura di Riferimento versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it
DettagliSOFTWARE. Programmi e dati che indicano al computer come svolgere un determinato compito
SOFTWARE MODULO 3 SOFTWARE Programmi e dati che indicano al computer come svolgere un determinato compito Programma: sequenza di istruzioni, scritte in un determinato linguaggio, con le quali si fa eseguire
DettagliCiclo di vita di una Servlet
Ciclo di vita di una Servlet Non caricata. Prima richiesta: Caricata: il file.class viene caricato in memoria centrale. Inizializzata: viene eseguito il metodo init(). In servizio: risponde alle richieste
DettagliDal sito web all applicazione mobile
Dal sito web all applicazione mobile Paolo Milazzo Dipartimento di Informatica Università di Pisa Metodologie Informatiche Applicate al Turismo A.A. 2017/2018 Premessa Queste slides includono molti link
DettagliLaboratorio di Basi di Dati/ Basi di dati per Bioinformatica
Laboratorio di Basi di Dati/ Basi di dati per Bioinformatica Docenti: Alberto Belussi e Carlo Combi Lezione 9 Architettura Model-View-Controller (MVC)! Adottando l'architettura MVC e la tecnologia Servlet-JSP,
DettagliArchitetture di rete. 4. Le applicazioni di rete
Architetture di rete 4. Le applicazioni di rete Introduzione L avvento di tecnologie (hw, sw, protocolli) di rete avanzate ha permesso la nascita di architetture software molto evolute che permettono lo
DettagliCLASSE: 5 INF MATERIA: TPSIT DOCENTE: EPIS CARLO PROGRAMMAZIONE DIDATTICA
CLASSE: 5 INF MATERIA: TPSIT DOCENTE: EPIS CARLO PROGRAMMAZIONE DIDATTICA ASSE CULTURALE SCIENTIFICO TECNOLOGICO competenze chiave competenze base abilità conoscenze Scegliere dispositivi e strumenti in
DettagliMIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte
MIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte DCOM: Distributed Component Object Model Applicazione Server Applicazione Client Fornitura di servizi WEB in ambiente distribuito Sempre
DettagliMIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte
MIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte Fornitura di servizi WEB in ambiente distribuito Sempre più servizi intesi come sistemi o framework (integrazione e composizione) di oggetti
Dettagli@2011 Politecnico di Torino 1
Concetti di base Programmazione Web Il linguaggio HTML HTML consente di annotare un testo per contrassegnare le parti che lo compongono Le annotazioni sono realizzate tramite i "tag" Visualizzare documenti
DettagliSistemi Distribuiti M Proposta di esercizio: Mapping Object-Relational attraverso Hibernate e JPA
Alma Mater Studiorum - Università di Bologna CdS Laurea Magistrale in Ingegneria Informatica I Ciclo - A.A. 2018/2019 Sistemi Distribuiti M Proposta di esercizio: Mapping Object-Relational attraverso Hibernate
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliMetodi Avanzati di Programmazione 2012/2013 Informatica (Brindisi) Loglisci Corrado
INSEGNAMENTO ANNO ACCADEMICO CORSO DI LAUREA IN DOCENTE ANNO DI CORSO Metodi Avanzati di Programmazione 212/213 Informatica (Brindisi) Loglisci Corrado II II SEMESTRE 7 (ore 56) N CREDITI LEZIONI FRONTALI:
DettagliPiattaforme software distribuite I
Piattaforme software distribuite I Introduzione a Java 2 Platform Enterprise Edition (J2EE) Davide Lamanna lamanna@dis.uniroma1.it Programma Architetture per le applicazioni web Carrellata di ripasso Valutazione
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Applicazioni Web J2EE: Aspetti Metodologici versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca
DettagliLaboratorio di Applicazioni Internet Anno Accademico 2005/2006
Laboratorio di Applicazioni Internet Anno Accademico 2005/2006 Tito Flagella (tito@link.it) Domenico Aquilino (d.aquilino@metaware.it) Dipartimento di Informatica Università di Pisa Orario Mercoledì, 9-11
DettagliProgetto: SIURP. Cliente: Regione Calabria. Redatto da: Valerio Annunziata. Verificato da. Comitato di Coordinamento. Data di Emissione:
Documento di Configurazione Netx e Mavi Progetto: Cliente: Redatto da: Verificato da Data di Emissione: Consegnato a: SIURP Regione Calabria Valerio Annunziata Comitato di Coordinamento 5 Gennaio 2015
DettagliJava SE 7. Introduzione.
Java SE 7 Introduzione diegozabot@yahoo.it ursula.castaldo@gmail.com Java Java è un linguaggio di programmazione. Inizialmente usato per creare semplici programmi nelle pagine web (chiamati applets), Java
DettagliLaboratorio di Basi di Dati e Web
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
DettagliAlma Mater Studiorum Università di Bologna. Scuola di Ingegneria. Tecnologie Web T. Esercitazione opzionale Spring MVC
Alma Mater Studiorum Università di Bologna Scuola di Ingegneria Tecnologie Web T Esercitazione opzionale Spring MVC Home Page del corso: http://www-db.disi.unibo.it/courses/tw/ Versione elettronica: L.10.opt.SpringMVC.pdf
DettagliMariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche
Mariarosaria Napolitano Architettura TCP/IP Corso di: Laboratorio di tecnologie informatiche e telematiche Contesto e Prerequisiti Contesto E' rivolto agli studenti del V anno degli Istituti Tecnici Industriali
DettagliCorso di Reti di Calcolatori T
Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 1 (proposta) Socket Java senza connessione Luca Foschini Anno accademico 2016/2017 Esercitazione 1 1
DettagliInformatica. Alfredo Cuzzocrea. Reti di Calcolatori
Informatica Alfredo Cuzzocrea PROTOCOLLI DI COMUNICAZIONE Protocolli di comunicazione: regole che formalizzano la cooperazione tra calcolatori collegati in rete (dalle caratteristiche fisiche del segnale
DettagliAlma Mater Studiorum Università di Bologna. Scuola di Ingegneria e Architettura. 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 Home Page del corso: http://www-db.disi.unibo.it/courses/tw/ Versione
DettagliModulo 2 Architetture dei SD Lezione 1
Modulo 2 Architetture dei SD Lezione 1 Corso Sistemi Distribuiti (6 CFU) Docente: Prof. Marcello Castellano Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano Table of Contents
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 07 Oggetti e Java Marzo 2010 Programmazione Java 1 Contenuti Il linguaggio Java Applicazioni Java e il metodo main Esempi di applicazioni
DettagliCGI. Ing Cesare Monti (revisionato da Andrea Omicini)
CGI Ing Cesare Monti (revisionato da Andrea Omicini) HTTP: CGI Nate per aggiungere un modello di interazione tra client e server la computazione sul server può essere specializzata Il codice risiede interamente
DettagliScopri di più su LoadMaster per Azure
KEMP Technologies si impegna a sostenere le organizzazioni nell adozione di soluzioni cloud ibride. KEMP, primo vendor di application delivery controller (ADC) ad aver esteso il bilanciamento del carico
DettagliCONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI
CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di
DettagliSiti web centrati sui dati (Data-centric web applications)
Siti web centrati sui dati (Data-centric web applications) 1 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 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente
DettagliJava Servlet & Java Server Pages (una semplice introduzione) SAPIENZA Università di Roma Corso di Progetto di Applicazioni Software
Java Servlet & Java Server Pages (una semplice introduzione) SAPIENZA Università di Roma Corso di Progetto di Applicazioni Software Java Servlet Technology Le Servlet sono una tecnologia offerta da Java
DettagliALTRI TIPI DI CONNESSIONE
ALTRI TIPI DI CONNESSIONE Socket Un socket è una connessione a una porta su un computer remoto, che è usata per scambiare informazioni con comandi HTTP Supponiamo che la nostra applicazione voglia ricevere
DettagliSommario 1 Introduzione progetto Soluzione Integrazione Conclusioni... 10
SISS SUITE Sommario 1 Introduzione... 3 2 progetto... 3 3 Soluzione... 3 4 Integrazione... 10 5 Conclusioni... 10 2 1 INTRODUZIONE L OMNICOM SISS Suite è una libreria DLL espressamente concepita per facilitare
DettagliLaboratorio di Progettazione Web Applicazioni Web
Laboratorio di Progettazione Web Applicazioni Web AA 2010/2011 Claudio Lucchese ISTI - CNR claudio.lucchese@isti.cnr.it Per sviluppare una applicazione web occorre aggiungere potere di calcolo e memorizzazione
DettagliProgramma del Corso. Dati e DBMS DBMS relazionali SQL. Progettazione di una base di dati Normalizzazione
Come contattarmi Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano) Telefono : 0521 / 90 5731 Email : stefano.cagnoni@unipr.it Sito del corso : http://www.ce.unipr.it/people/cagnoni/didattica/basidati
DettagliArchitettura MVC-2. Alberto Belussi. Anno accademico 2006/2007
Architettura MVC-2 Alberto Belussi Anno accademico 2006/2007 Verso l architettura MVC-2 Il secondo passo verso l architettura MVC-2 è quello di separare il controllo dell esecuzione, che rimane alla servlet,
DettagliProtocolli e architetture per WIS
Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS
DettagliRicevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano)
Come contattarmi Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano) Telefono : 0521 / 90 5731 Email : stefano.cagnoni@unipr.it Sito del corso : http://www.ce.unipr.it/people/cagnoni/didattica/basidati
DettagliIntroduzione D B M G
Introduzione D B M G Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS D B M G 2 Gestione delle
DettagliReti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete
Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete Reti di calcolatori Protocolli di Trasmissione: Il modello ISO/OSI L architettura TCP/IP Protocolli di trasmissione Un protocollo di
DettagliIntroduzione al linguaggio Java: Servlet e JSP
Introduzione al linguaggio Java: Servlet e JSP Corso di Gestione della Conoscenza d Impresa A. A. 2006/2007 Dipartimento di Informatica Università degli Studi di Bari 1 Servlet e JSP: il contesto Un applicazione
Dettagli