Corso di Applicazioni Telematiche
|
|
|
- Lia Mantovani
- 9 anni fa
- Просмотров:
Транскрипт
1 Corso di Applicazioni Telematiche A.A Lezione n.12 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria
2 Una Servlet è un componente software scritto in Java, gestito da un container, che produce contenuto web dinamico (Java Servlet Specification, v. 2.4)
3 Una Servlet interagisce con un web Client attraverso il paradigma di comunicazione request/response
4 Il servlet container (o servlet engine) è un estensione di un web server che fornisce l ambiente di esecuzione ad una Servlet Esempio di servlet container open-source: Tomcat Tomcat è un servlet container open-source interamente scritto in Java disponibile su:
5 Scaricare l installer di Apache Tomcat per la propria piattaforma (Win32 o Linux) Versione attuale (aprile 2006): 5.5.x Installare Tomcat Per convenzione indicheremo con install_dir la directory base della installazione (es. C:\wamp\Tomcat\Tomcat5.5) Installare le applicazioni manager ed admin per la gestione delle applicazioni web e del server stesso vedi Manager App HOW-TO sul sito ufficiale Abilitare la funzione di ri-caricamento automatico Trasformare <Context> in <Context reloadable="true"> in install_dir/conf/context.xml (per tutte le applicazioni web) o nel file Context XML descriptor della specifica applicazione
6 Abilitare l invocazione delle servlet senza deployment descriptor (opzionale) In install_dir/conf/web.xml togliere il commento agli elementi servlet and servlet-mapping in modo da abilitare l invoker servlet su un qualunque path del tipo /servlet/* Grazie a questa modifica è possibile copiare il bytecode.class della servlet in WEB-INF/classes e successivamente invocare la servlet tramite la URL Utile per un rapido debugging delle servlet prima del deployment In alternativa, se non si sceglie la strada indicata sopra, si devono sempre inserire le servlet sviluppate in un contesto di web application, opportunamente descritte nel deployment descriptor Nel seguito inseriremo le servlet d esempio nel Context /AT_servlet descritto in install_dir/conf/catalina/localhost/at_servlet.xml
7 !"#$% Il Context XML descriptor è un documento XML che contiene la descrizione del Context associato ad una web application In particolare, sono specificati: La base directory della applicazione Il path anteposto al nome delle servet della applicazione per identificarle univocamente Se l applicazione deve essere reloadable o non La descrizione del Context di una applicazione è tipicamente memorizzata in un file XML install_dir/conf/[enginename]/[hostname]/[nome_applicazione].xml Es: install_dir/conf/catalina/localhost/at_servlets.xml
8 & '(!! <?xml version="1.0" encoding="utf-8"?> <Context docbase="c:\java\workspace\at_servlets" path="/at_servlets" reloadable="true"/>
9 &
10
11 1. Il Client fa una richiesta HTTP al web server 2. Il web server carica la servlet (solo la prima volta) e crea un thread per eseguirla 3. Il container esegue la servlet richiesta 4. La servlet genera la risposta 5. La risposta viene restituita al client
12 ) Sono molto più veloci dei CGI Persistenti una volta caricata, una servlet rimane in memoria e può ottimizzare l accesso alle risorse attraverso caching, pooling, etc... Implementation independence usano una API standard supportata da molti web server Vantaggi offerti dal linguaggio Java Platform independence, Object Oriented programming, Garbage Collection,
13 & E un framework di classi Java che offre delle interfacce object oriented ad oggetti che incapsulano la comunicazione tra client e server (request, response) I package javax.servlet e javax.servlet.http definiscono interfacce e classi base da cui un programmatore può derivare le proprie specifiche servlet Una servlet deve implementare l interfaccia Servlet Una servlet può essere fatta derivare dalla classe GenericServlet o da HttpServlet, che implementa i metodi base (es. doget, dopost, ecc ) per gestire l interazione con un client via HTTP
14 $* 1. Load & instantiation: Servlet MyServlet = new HttpServlet(); 2. Initialization: MyServlet.init(ServletConfig); 3. Request Handling: MyServlet.service(request, response); 4. End of service: MyServlet.destroy();
15 Il metodo init() viene eseguito una volta soltanto per ciascuna servlet Permette di accedere a risorse utili per la servlet aprire connessioni ad un db, ottenere reference ad EJB, ecc
16 +, I metodi service(), doget() e dopost() possono essere implementati dal programmatore Il metodo service() per default delega l esecuzione al metodo indicato nella richiesta HTTP del client Le richieste HTTP più comuni sono POST e GET, gestite dai metodi della servlet dopost() e doget() implementate dal programmatore
17 $*#- Viene creato un Thread per ogni richiesta Il thread può essere riutilizzato se lo stesso client richiede la stessa servlet
18 . % % package it.unina.at; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Servlet01 extends HttpServlet { public void doget (HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String nome = (String)request.getParameter("nome"); HttpSession session = request.getsession(true); session.setattribute("nome", nome); response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); out.println("<html><body>"); out.println("<p>benvenuto, " + nome + "</p>"); out.println("<p>la data di oggi è:"); out.println("<b>" + new java.util.date()+ "</b></p>"); out.println("</body></html>"); } }
19 %% /0 Un applicazione web è costituita da un insieme di pagine statiche, di servlet e di pagine JSP In Tomcat un applicazione web è associata ad un Context La struttura di una applicazione web eseguibile in Tomcat è la seguente: Nella root directory della applicazione: *.html, *.jsp Nella sotto-directory WEB-INF: web.xml il Deployment Descriptor In WEB-INF/classes i file *.class delle servlet (bytecode) In WEB-INF/lib eventuali file di libreria *.jar
20 1%* %/0(! <?xml version="1.0" encoding="utf-8"?> <web-app version="2.4" xmlns=" xmlns:xsi=" xsi:schemalocation=" <servlet> <servlet-name>servlet01</servlet-name> <servlet-class>it.unina.at.servlet01</servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet01</servlet-name> <url-pattern>/servlet01</url-pattern> </servlet-mapping> <session-config> <session-timeout>30</session-timeout> </session-config> <welcome-file-list> <welcome-file> index.jsp </welcome-file> </welcome-file-list> </web-app>
21
22 &2%34 Permette di: Ottenere i parametri inviati dal client Ottenere il riferimento alla sessione utente Ottenere il flusso dei dati inviati dal client Riconoscere l utente autenticato
23 &2%3% Permette di: Inviare dati al client come HTML oppure come flusso binario Inviare codici di errore e codici di controllo nell intestazione della response HTTP per controllare il comportamento del browser
24 1
Programmazione 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
Tomcat & Servlet. Contenuti. Programmazione in Ambienti Distribuiti. Tomcat Applicazioni Web. Servlet JSP Uso delle sessioni
Tomcat & Servlet Programmazione in Ambienti Distribuiti V 1.2 Marco Torchiano 2005 Contenuti Tomcat Applicazioni Web Struttura Sviluppo Deployment Servlet JSP Uso delle sessioni 1 Tomcat Tomcat è un contenitore
Un contatore di accessi
Un contatore di accessi Scriviamo una servlet che conta il numero di accessi e lo visualizza. Sfruttiamo il fatto che Tomcat, quando riceve la richiesta di una servlet, crea un istanza della classe corrispondente.
Tito 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
Architetture 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
Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi
Applicazioni web Parte 6 Java Alberto Ferrari 1 Sommario Introduzione alle API ed esempi Tomcat Server per applicazioni web Alberto Ferrari 2 Alberto Ferrari 1 Java: da applet a servlet In origine Java
Tecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Applicazioni Web J2EE: Struttura dell Applicazione versione 2.4 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
Note 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
Servlet 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
Server-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:
Introduzione 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
Sviluppo di Applicazioni Web con Java 2 Enterprise Edition
Sviluppo di Applicazioni Web con Java 2 Enterprise Edition Ivan Scagnetto Dipartimento di Matematica e Informatica http://www.dimi.uniud.it/scagnett [email protected] Laboratorio di Tecnologie Lato
Sviluppo di Applicazioni Web con Java 2 Enterprise Edition
Sviluppo di Applicazioni Web con Java 2 Enterprise Edition Ivan Scagnetto Dipartimento di Matematica e Informatica http://www.dimi.uniud.it/scagnett [email protected] Laboratorio di Tecnologie Lato
SERVLET & 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
Java 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
Laboratorio di Basi di Dati e Web
Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 6 Servlet Servlet: classi java che estendono le funzionalità di un server Web generando dinamicamente le pagine Web. Riferimento: http://java.sun.com/products/servlets
Laboratorio di Basi di dati
Laboratorio di Basi di dati Docente: Alberto Belussi Lezione 6 Servlet Servlet: classi java che estendono le funzionalità di un server Web generando dinamicamente le pagine Web. Riferimento: http://www.oracle.com/technetwork/java/javaee/servlet/index.html
JAVA SERVLET: I filtri
JAVA SERVLET: I filtri INTRODUZIONE Quest oggi vedremo una particolarità delle servlet che è stata introdotta nelle servlet API versione 2.3. I filtri sono un potente meccanismo che è in grado di fare
Tener traccia del client
Tener traccia del client Raramente un applicazione web è costituita da una singola pagina (risorsa). E utile quindi tener traccia dei client che si collegano per rendere più semplice lo sviluppo dell applicazione.
Programmazione Java Avanzata. MVC Model, View,, Controller. Ing. Gianluca Caminiti
Programmazione Java Avanzata MVC Model, View,, Controller Ing. Gianluca Caminiti Uso di JSP: complessità crescente Invocare codice Java direttamente. Posizionare tutto il codice Java in una pagina JSP
Tomcat. Laboratorio di Tecnologie Lato Server - V.Della Mea e I.Scagnetto, a.a. 2004/05-1
Tomcat E uno dei servlet engine più diffusi. Può funzionare sia come prodotto standalone, sia come modulo del web server Apache. Disponibile gratuitamente (per molti sistemi operativi tra cui Linux e Windows)
CORSO 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,
Tutorial web Application
Tutorial web Application Installazione della JDK: Java viene distribuito con la jdk e il jre acronimi di Java Development Kit e Java Runtime Environment rispettivamente. La jdk è l'ambiente di sviluppo
Tomcat struttura delle directory
Tomcat struttura delle directory $CATALINA_HOME (oppure $TOMCAT_HOME): rappresenta la directory radice dell installazione di Tomcat e contiene le seguenti directory: bin common (lib nelle versioni più
Gestire le sessioni con le Servlet
PROGETTO Gestire le sessioni con le Servlet Con il termine sessione si intende un insieme di attività correlate, con una o alcune di queste che sono preliminari ad altre. Si pensi, per esempio, a un qualsiasi
Verso l architettura MVC-2 Java Server Pages (JSP)
Verso l architettura MVC-2 Java Server Pages (JSP) 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 JSP Una pagina JSP può essere vista come uno schema di pagina Web dove: le
Laboratorio di sistemi Prima Web Application JSP [Java]
Vogliamo scrivere la nostra prima web application che legga da tastiera il nostro nome e fornisca un messaggio di saluto. Per costruire la nostra applicazione creiamo con NetBeans un nuovo progetto. File
Svantaggi delle servlet
Svantaggi delle servlet Le servlet sono la tecnologia principale di J2EE per comunicare con i browser dei client. Tuttavia ci sono degli inconvenienti per gli sviluppatori di applicazioni web: le servlet
3.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................
Laboratorio di reti II: Servlet
Laboratorio di reti II: Servlet Stefano Brocchi [email protected] 16 marzo, 2009 Stefano Brocchi Laboratorio di reti II: Servlet 16 marzo, 2009 1 / 34 Le servlet Una servlet è una classe Java eseguita
Programma 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
Tomcat. Laboratorio di Tecnologie Lato Server - V.Della Mea e I.Scagnetto, a.a. 2006/07-1
Tomcat E uno dei servlet engine più diffusi. Può funzionare sia come prodotto stand-alone, sia come modulo del web server Apache. Disponibile gratuitamente (per molti sistemi operativi tra cui Linux, Windows,
Database & WWW. Basi di dati Architetture e linee di evoluzione P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone
Database & WWW Capitolo 4 Basi di dati Architetture e linee di evoluzione P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone 1 Sommario Protocollo HTTP CGI Java Servlet Server-side scripting
Laboratorio di Programmazione di Rete
Laboratorio di Programmazione di Rete Lezione del 12 Marzo 2007 Docente: Ing. Novella Bartolini Ricevimento: Mercoledì ore 12:00-14:00 Via Salaria 113, terzo piano, stanza 309 Email: [email protected]
Osservazioni. Laboratorio di Tecnologie Lato Server - V.Della Mea e I.Scagnetto, a.a. 2005/06-1
Osservazioni Nell esempio della precedente lezione del contatore di accessi persistente il nome del file in cui memorizzare il numero di hit ed il valore iniziale del contatore sono codificati direttamente
Web Application model. Servlet. Servlet e Servlet Container. Introduzione alle Servlet
Web Application model Client Tier Middle Tier Enterprise Information System (EIS) Tier Introduzione alle Servlet application Web Container browser Servlet Servlet JSP JDBC Database 2 Servlet Programma
Servlet e JDBC. Servlet e Web Server. Servlet e Web Server. Servlet e Web Server. Richieste. 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 e : estensioni del Java API permettono di scrivere
Laboratorio 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
Java J2EE JSP e Servlets
Java J2EE JSP e Servlets Relatore Dott.ssa Lucrezia Macchia Ph.D Student in Computer Science Dipartimento DI INFORMATICA Piattaforme JAVA Ambienti di sviluppo: JDK L' edizione SDK si distingue in: Java
1 Gestione dell utente connesso in sessione con Java Server Pages, Java Beans, Servlet
1 Gestione dell utente connesso in sessione con Java Server Pages, Java Beans, Servlet Controllo dell utente connesso al sito tramite JSP, Java Beans e Servlet. Ciò che ci proponiamo di fare è l accesso
Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB. Http con java, URL
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB Http con java, URL Ing. Marco Mamei Anno Accademico 2004-2005 M. Mamei - Tecnologie
