Tecnologie di Sviluppo per il Web



Documenti analoghi
Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web

Programmazione server-side: Java Servlet

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

Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java

Tecnologie di Sviluppo per il Web

Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli

Note pratiche sullo sviluppo di servlet (I)

Programmazione Orientata agli Oggetti in Linguaggio Java

Tecnologie di Sviluppo per il Web

Programmazione Orientata agli Oggetti in Linguaggio Java

Servlet API. Programmazione in Ambienti Distribuiti A.A

Programmazione Orientata agli Oggetti in Linguaggio Java

Architetture Web: un ripasso

Server-side Programming: Java servlets Parte II

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

Introduzione alla programmazione Http lato server in Java

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB.

Tener traccia del client

Laboratorio di Basi di Dati

Tecnologie di Sviluppo per il Web

Application Server per sviluppare applicazioni Java Enterprise

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 /

Sviluppo di Applicazioni Web con Java 2 Enterprise Edition

CORSO DI PROGRAMMAZIONE JAVA

Programmazione Orientata agli Oggetti in Linguaggio Java

Il Web Server e il protocollo HTTP

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

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

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

Primi passi con Apache Tomcat. L application server dell Apache group

Sviluppo di Applicazioni Web con Java 2 Enterprise Edition

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

Estensione di un sistema per la gestione semi-automatica di siti didattici con XML

Gestire le sessioni con le Servlet

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di dati

Tomcat struttura delle directory

Svantaggi delle servlet

Tutorial web Application

Web Content Management and E- Learning

Capitolo 4 Pianificazione e Sviluppo di Web Part

Mac Application Manager 1.3 (SOLO PER TIGER)

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

Antonio d Acierno 13/01/2006

Il Protocollo HTTP e la programmazione di estensioni Web

Strumenti per la programmazione

Manuale di KSystemLog. Nicolas Ternisien

Corso di Applicazioni Telematiche

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

Standard Nazionale di Comunicazione Mercato Gas

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

Tecnologie di Sviluppo per il Web

Esempio di esecuzione di una pagina JSP: Il client chiede la pagina: sdfonline.unimc.it/info/modulo.jsp;

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

POSTECERT POST CERTIFICATA GUIDA ALL USO DELLA WEBMAIL

Laboratorio di reti II: Java Server Pages

Standard Nazionale di Comunicazione Mercato Gas

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Panoramica: che cosa è necessario

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Appunti di Informatica 1

InitZero s.r.l. Via P. Calamandrei, Arezzo

IBM SPSS Statistics per Mac OS - Istruzioni di installazione (Licenza per sito)

Standard Nazionale di Comunicazione Mercato Gas

PHP e Java ovvero come poter sfruttare entrambi i linguaggi e vivere felici... forse

Server Web. Apache Tomcat. Modalità di funzionamento. Autore: Roberto Fabbrica Diapo 1. Diapo 2. Diapo 3

Programmazione Orientata agli Oggetti in Linguaggio Java

Registratori di Cassa

MODEM USB MDC525UP Guida Rapida LINUX

Laboratorio di sistemi Prima Web Application JSP [Java]

Progetto di Gestione Documenti in Ambiente Web

Schedulatore per la comunicazione con le Porte di Dominio

Istruzioni per l installazione

FileMaker Server 14. Guida alla configurazione dell installazione in rete

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Come funziona internet

FileMaker Server 12. Guida alla configurazione dell installazione in rete

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet

Gestione Manutenzioni Immobiliari.

Web Application Libro Firme Autorizzate

REOL-Services Quick Reference Ver. 1.1 Tecno Press Srl. 1

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002

Approfondimenti. Contenuti

Programmazione Orientata agli Oggetti in Linguaggio Java

Tecnologie di Sviluppo per il Web

Manuale di Blogilo. Mehrdad Momeny Traduzione e revisione del documento: Valter Mura

Classe 5 Bi Laboratorio di informatica Esercitazione di gruppo: configurazione server Apache

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Corso di Informatica Modulo T3 B2 - Database in rete

Università degli studi dell Aquila. Sistemi di elaborazione delle informazioni

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»

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

Protocolli e architetture per WIS

PRACTICAL DEVELOPMENT OF A WEB SERVICE

Transcript:

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) G. Mecca mecca@unibas.it Università della Basilicata Applicazioni Web J2EE: Struttura >> Sommario Sommario Applicazione Web J2EE Struttura dell Applicazione Organizzazione delle Cartelle Descrittore dell Applicazione URI delle Risorse Amministrazione Installazione ( Deployment ) Il manager di Tomcat 2

Applicazioni Web J2EE: Struttura >> Applicazione J2EE Applicazione Web J2EE Applicazione Web J2EE collezione di servlet e Java Server Pages componenti Java (beans, jar) pagine HTML, CSS, immagini, altri file Richiede un server applicativo conforme contenitore delle applicazioni es: Jakarta Tomcat (implementazione di riferimento di servlet e JSP) 3 Applicazioni Web J2EE: Struttura >> Applicazione J2EE Applicazione Web J2EE Idea le richieste HTTP vengono gestite da opportune classi Java dette servlet le pagine JSP vengono trasformate dal contenitore in servlet opportuni i servlet vengono compilati ed istanziati dal contenitore ogni volta che arriva una richiesta destinata ad una pagina JSP, viene servita dal servlet 4

Applicazioni Web J2EE: Struttura >> Applicazione J2EE Servlet Classe Java Orientata alla comunicazione client-server riceve messaggi di richiesta produce messaggi di risposta Viene eseguita dal contenitore opportuno ciclo di vita basata su API opportune (javax.servlet.*) Standard arrivato alla versione 2.4 5 Applicazioni Web J2EE: Struttura >> Applicazione J2EE Servlet Due categorie servlet generici (estendono javax.servlet.genericservlet) orientati alla gestione di messaggi generici servlet HTTP (estendono javax.servlet.http.httpservlet) orientati alla gestione di messaggi http In questo corso considereremo solo servlet HTTP 6

Applicazioni Web J2EE: Struttura >> Applicazione J2EE Un Esempio istruzioni Java (scriptlet) <!-- Data.jsp --> oggetti predefiniti <html> <body> <% String nome=(string)request.getparameter( nome ); session.setattribute( nome, nome); %> <p>benvenuto, <%= nome %>. La data di oggi e : <%= new java.util.date() %> </p> </body> </html> espressioni Java questa pagina JSP viene automaticamente trasformata in un servlet 7 Applicazioni Web J2EE: Struttura >> Applicazione J2EE Il Servlet Corrispondente import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Data_jsp 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>\n<body>"); out.println( <p>benvenuto, + nome); out.println( La data di oggi e : ); out.println( <b> + new java.util.date()+ </b></p> ); out.println("</body>\n</html>"); } } 8

Applicazioni Web J2EE: Struttura >> Applicazione J2EE Servlet Due metodi principali doget(): operazioni per rispondere a richieste di tipo GET dopost(): operazioni per rispondere a richieste di tipo POST Parametri richiesta: HttpServletRequest request risposta: HttpServletResponse response 9 Applicazioni Web J2EE: Struttura >> Applicazione J2EE Servlet Ciclo di vita dei servlet sono classi gestite dal contenitore il contenitore crea le istanze e le rimuove Tre fasi principali del ciclo di vita inizializzazione servizio distruzione 10

Applicazioni Web J2EE: Struttura >> Applicazione J2EE Servlet Inizializzazione alla prima richiesta (o all avvio) il contenitore istanzia uno o più oggetti della classe servlet Servizio le istanze vengono utilizzate per servire molte richieste ogni richiesta all URI corrispondente genera un thread che chiama doget o dopost Distruzione quando è necessario (es: shutdown, reload), l oggetto viene rimosso 11 Applicazioni Web J2EE: Struttura >> Applicazione J2EE Servlet Vantaggi rispetto alle CGI efficienza (attivazione di thread leggeri rispetto all attivazione di thread pesanti) flessibilità (tutti i servlet girano nella stessa macchina virtuale e possono cond. dati) Altri vantaggi potenza del linguaggio portabilità relativa economicità dei contenitori 12

Applicazioni Web J2EE: Struttura >> Applicazione J2EE Rapporto tra Servlet e JSP Di conseguenza i componenti di interfaccia e controllo sono in realtà servlet le pagine JSP sono un modo più rapido per scrivere questi servlet Nel seguito servlet: modello per descrivere la semantica JSP: implementazione pratica 13 Applicazioni Web J2EE: Struttura >> Applicazione J2EE Rapporto tra Servlet e JSP Vantaggi delle pagine JSP la scrittura del codice HTML è decisamente semplificata (non servono println()) non è necessario compilare il codice: la traduzione in servlet e la compilazione viene effettuata dal compilatore il contenitore, tra l altro, si accorge anche delle modifiche effettuate e ripete il processo tutte le volte che è necessario 14

Applicazioni Web J2EE: Struttura >> Applicazione J2EE Rapporto tra Servlet e JSP Esempio nell applicazione indovinam1jsp, per ogni pagina JSP il contenitore genera un servlet corrispondente nella cartella /tomcat4/work >> servlet generati >> esempio di modifica modificando una pagina jsp, il servlet corrispondente viene rigenerato, ricompilato, istanziato e utilizzato per gestire le richieste 15 Applicazioni Web J2EE: Struttura >> Applicazione J2EE Rapporto tra Servlet e JSP >> indovinam1servlet >> esempio di modifica In effetti le due tecnologie sono completamente equivalenti dal punto di vista delle funzionalità tutto quello che è possibile fare in una pagina JSP è fattibile anche scrivendo direttamente un servlet e viceversa Esempio è possibile scrivere la stessa applicazione utilizzando esclusivamente servlet scritti direttamente dal programmatore ma la scrittura è decisamente più faticosa 16

Applicazioni Web J2EE: Struttura >> Applicazione J2EE Rapporto tra Servlet e JSP Quindi, nel seguito studieremo i servlet per comprendere la struttura delle pagine JSP svilupperemo applicazioni solo con JSP In realtà ci sono precise differenze dal punto di vista metodologico le approfondiremo in seguito 17 Applicazioni Web J2EE: Struttura >> Struttura di un'applicazione Web J2EE Struttura di un Applicazione J2EE Ogni applicazione J2EE è una cartella montata sul file system del contenitore Radice del file system: webapps variabile da contenitore a contenitore tutte le applicazioni Web nella radice sono visibili è possibile definire alias ( contesti ) ogni applicazione ha un nome corrispondente al nome della cartella 18

Applicazioni Web J2EE: Struttura >> Struttura di un'applicazione Web J2EE Struttura di un Applicazione J2EE Esempio: Tomcat radice delle applicazioni predefinita su Linux: /var/tomcat4/webapps è possibile spostarla (es: /usr/webapps) Applicazioni Web predefinite ROOT (pagina di benvenuto) examples (esempi) tomcat-docs (documentazione) manager (amministrazione) 19 Applicazioni Web J2EE: Struttura >> Struttura di un'applicazione Web J2EE Organizzazione Standard dei File Struttura dell applicazione fissata dallo standard è necessario che tutte le applicazioni seguano la struttura standard garantisce la portabilità tra contenitori se un applicazione nella cartella webapps non rispetta la struttura il server non la rende visibile 20

Applicazioni Web J2EE: Struttura >> Struttura di un'applicazione Web J2EE Organizzazione Standard dei File radice dell applicazione; es: indovinam1jsp pagine JSP (event. in sottocartelle) es: tentativo.jsp pagine HTML, fogli di stile, immagini, altre cartelle cartella WEB-INF eventuale descrittore dell applicazione web.xml cartella classes servlet (eventualmente in package) bean (eventualmente in package) cartella lib file jar >> 21 Applicazioni Web J2EE: Struttura >> Struttura di un'applicazione Web J2EE Organizzazione Standard dei File Struttura fondamentale della cartella radice /: pagine JSP, pagine HTML, fogli di stile CSS, immagini (tipicamente organizzati in sottocartelle) cartella /WEB-INF: eventuale deployment descriptor web.xml cartella /WEB-INF/classes: servlet e componenti (tipicamente organizzati in package) 22

Applicazioni Web J2EE: Struttura >> Struttura di un'applicazione Web J2EE Organizzazione Standard dei File Altri elementi cartella /WEB-INF/lib: contiene tutti i jar che è necessario rendere visibili ai servlet e alle pagine JSP (es: driver JDBC) Il CLASSPATH per l applicazione Web tutti i package in /WEB-INF/classes tutti i jar in /WEB-INF/lib ATTENZIONE: altre classi non sono visibili 23 Applicazioni Web J2EE: Struttura >> Descrittore dell Applicazione Descrittore dell Applicazione Descrittore dell applicazione web.xml deployment descriptor serve a specificare parametri specifici per l applicazione es: nomi per i servlet; pattern degli URI a cui rispondono; file indice standard (es: index.jsp); timeout per le sessioni ecc. è indispensabile, ma può essere vuoto (il contenitore assegna valori standard) 24

Applicazioni Web J2EE: Struttura >> Descrittore dell Applicazione Descrittore dell Applicazione Un descrittore minimale <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> </web-app> 25 Applicazioni Web J2EE: Struttura >> Descrittore dell'applicazione Descrittore dell Applicazione Elementi principali: servlet: assegna un alias e dei parametri di inizializzazione ad un servlet servlet-mapping: assegna uno o più URI ad un servlet session-config: definisce parametri delle sessioni error-page: URI della pagina da visualizzare in caso di errori nell applicazione 26

Applicazioni Web J2EE: Struttura >> Descrittore dell'applicazione Descrittore dell Applicazione Elemento servlet consente di assegnare un nome ad un servlet è possibile fare riferimento al servlet (negli URI e in web.xml) con il nuovo nome Sottoelementi servlet-name servlet-class jsp-file (nel caso il servlet venga da jsp) 27 Applicazioni Web J2EE: Struttura >> Descrittore dell'applicazione Descrittore dell Applicazione Sintassi per i servlet: <servlet> <servlet-name>esci</servlet-name> <servlet-class>indovina.servletesci</servlet-class> </servlet> Sintassi per le pagine jsp <servlet> <servlet-name>indovinato</servlet-name> <jsp-file>/indovinato.jsp</jsp-file> </servlet> 28

Applicazioni Web J2EE: Struttura >> Descrittore dell'applicazione Descrittore dell Applicazione Elemento servlet-mapping deve comparire dopo tutti gli elementi servlet associa uno o più URI alternativi a quello standard ad un servlet per fare riferimento al servlet (o alla pagina Jsp) si utilizza il nome (servlet-name) assegnato con l elemento servlet 29 Applicazioni Web J2EE: Struttura >> Descrittore dell'applicazione Descrittore dell Applicazione Sintassi: <servlet-mapping> <servlet-name>esci</servlet-name> <url-pattern>/esci</url-pattern> </servlet-mapping> Per le pagine Jsp (necessario): <servlet-mapping> <servlet-name>indovinato</servlet-name> <url-pattern>/indovinato.jsp</url-pattern> </servlet-mapping> 30

Applicazioni Web J2EE: Struttura >> Descrittore dell'applicazione Descrittore dell Applicazione E possibile specificare classi di URI collezioni di URI che unificano con il pattern carattere speciale *: qualsiasi stringa Esempio: URI che terminano con.asp <servlet-mapping> <servlet-name>errore</servlet-name> <url-pattern>*.asp</url-pattern> </servlet-mapping> pattern; attenzione: non comincia per / 31 Applicazioni Web J2EE: Struttura >> Descrittore dell'applicazione Descrittore dell Applicazione Elemento session-config definisce il tempo massimo di inattività di una sessione (in minuti); per Tomcat standard 30 Sottoelemento session-timeout Esempio <session-config> <session-timeout>15</session-timeout> </session-config> 32

Applicazioni Web J2EE: Struttura >> Descrittore dell'applicazione Descrittore dell Applicazione Elemento error-page serve a specificare l URI di una pagina da visualizzare in caso errori, ovvero: risposte HTTP di errore (codici 4xx e 5xx) eccezioni nel codice Java Sottoelementi error-code exception-type location 33 Applicazioni Web J2EE: Struttura >> Descrittore dell'applicazione Descrittore dell Applicazione Esempio di codice di errore: <error-page> <error-code>404</error-code> <location>/errore.html</location> </error-page> Esempio di eccezione: <error-page> <exception-type> javax.servlet.servletexception </exception-type> <location>/errore.html</location> </error-page> >> 34

Applicazioni Web J2EE: Struttura >> Descrittore dell'applicazione Descrittore dell Applicazione Ordine degli elementi in web.xml description: serve a dare una breve descrizione dell applicazione Web context-param: serve a definire parametri di inizializzazione validi per tutti i servlet/jsp filter >> filter-mapping >> servlet servlet-mapping 35 Applicazioni Web J2EE: Struttura >> Descrittore dell'applicazione Descrittore dell Applicazione Ordine degli elementi in web.xml (cont.) session-config mime-mapping: definisce il tipo MIME per estensioni di file inusuali welcome-file-list: definisce i file standard da servire in caso di URI che fanno riferimento a cartelle (es: index.jsp, index.html) error-page 36

Applicazioni Web J2EE: Struttura >> Descrittore dell'applicazione Descrittore dell Applicazione Ordine degli elementi in web.xml (cont.) taglib >> security-constraint: vincola l accesso ad opportuni URI dell applicazione login-config: configura il tipo di autenticazione da usare per le risorse protette (es: basic o digest) 37 Applicazioni Web J2EE: Struttura >> Struttura di un'applicazione Web J2EE URI delle Risorse Ogni risorsa dell applicazione ha un URI http://<host>:<porta>/<percorso risorsa> <porta>: normalmente diversa da 80 Tomcat: 8080 Esempio: http://127.0.0.1:8080/ (pagina di benvenuto) http://127.0.0.1:8080/manager/html/list (applicazione manager di Tomcat) 38

Applicazioni Web J2EE: Struttura >> Struttura di un'applicazione Web J2EE URI delle Risorse Pagine JSP percorso a partire da webapps /<nomeappl>/<percorso>/<nomefile> es: /indovinam1jsp/fine.jsp es: /studenti/inserimenti/inserisciesame.jsp Pagine HTML e connessi stessa convenzione delle pagine JSP 39 Applicazioni Web J2EE: Struttura >> Struttura di un'applicazione Web J2EE URI delle Risorse Servlet non ha un URI definito risponde a tutte le richieste corrispondenti a URL pattern definiti per quel servlet in Web xml Esempio se l URL pattern /Fine è associato a Fine /indovinam1servlet/fine 40

Applicazioni Web J2EE : Struttura >> Amministrazione del Contenitore Amministrazione del Contenitore Il contenitore è uno strumento essenziale per lo sviluppo dell applicazione Web Operazioni fondamentali sul contenitore installazione configurazione ciascun contenitore ha le sue regole e le sue procedure faremo riferimento a Tomcat 41 Applicazioni Web J2EE : Struttura >> Amministratore del Contenitore Amministrazione del Contenitore Installazione di Tomcat >> tomcat >> tomcat-users.xml eseguire l installabile prelevato dal sito jakarta.apache.org installa un servizio che ascolta sulla porta 8080 Post-configurazione definizione dell utente manager cambiare il valore del file %TOMCAT_HOME%\conf\tomcat-users.xml definendo un nuovo utente con ruolo manager 42

Applicazioni Web J2EE: Struttura >> Amministrazione del Contenitore Amministrazione del Contenitore Attenzione a causa della complessità dell architettura applicativa, le applicazioni Web richiedono varie attività di carattere amministrativo In particolare installazione nel contenitore ( deployment ) disinstallazione modifica e caricamento 43 Applicazioni Web J2EE: Struttura >> Amministrazione del Contenitore Installazione ( Deployment ) Per essere accessibile: l applicazione deve essere visibile al contenitore (collocata nella cartella webapps oppure associata ad un alias) inoltre l applicazione deve essere installata nel contenitore ( deployed ) Differenza con il server HTTP ordinario non basta la visibilità sul file system operazione aggiuntiva di installazione 44

Applicazioni Web J2EE: Struttura >> Amministrazione del Contenitore Installazione ( Deployment ) Installazione le attività cambiano da server a server normalmente vengono inizializzati i servlet dell applicazione compilate le pagine JSP caricati i componenti (Bean) tipicamente all avvio vengono installate tutte le applicazioni nella radice (webapps) e tutte quelle corrispondenti agli alias noti 45 Applicazioni Web J2EE: Struttura >> Amministrazione del Contenitore Installazione ( Deployment ) Successivamente, il server deve consentire di installare altre applicazioni di disinstallare altre applicazioni di ricaricare applicazioni i cui componenti sono cambiati Ogni server ha la sua modalità 46

Applicazioni Web J2EE: Struttura >> Amministrazione del Contenitore Installazione ( Deployment ) Esempio: Tomcat due modi per installare o ricaricare un applicazione Web Modo n.1 riavviare il contenitore (riavviare Tomcat) interrompe il funzionamento di tutte le altre applicazioni Web è necessario avere i privilegi di amministratore 47 Applicazioni Web J2EE: Struttura >> Amministrazione del Contenitore Installazione ( Deployment ) Modo n.2 applicazione Web /manager un applicazione Web per amministrare il contenitore vantaggio: non richiede di riavviare il contenitore la sintassi dei comandi è descritta nella documentazione di Tomcat (>>) 48

Applicazioni Web J2EE: Struttura >> Amministrazione del Contenitore Installazione ( Deployment ) File war dell applicazione le applicazioni Web sono spesso distribuite sotto forma di file war file compressi con estensione.war sono file jar che rispettano l organizzazione delle cartelle dell applicazione Web si creano e si gestiscono con jar i contenitori sono in grado di decompattare ed installare automaticamente i file war 49 Applicazioni Web J2EE: Struttura >> Amministrazione del Contenitore Il Manager di Tomcat Applicazione Web fornita con Tomcat consente di effettuare le principali operazioni sulle applicazioni Web installazione, rimozione, ri-caricamento Per utilizzare il manager è necessario autenticarsi con nome utente e password come un utente di ruolo manager 50

Applicazioni Web J2EE: Struttura >> Amministrazione del Contenitore Il Manager di Tomcat Utilizzo dell applicazione attraverso il browser i comandi vengono eseguiti richiedendo l accesso ai servlet dell applicazione Due modalità principali di funzionamento utilizzo dell interfaccia HTML utilizzo diretto dei comandi attraverso URI nella barra degli indirizzi 51 Applicazioni Web J2EE: Struttura >> Amministrazione del Contenitore Il Manager di Tomcat Utilizzo dell interfaccia HTML per installare un applicazione basta fornire l URI della cartella relativa es: file:///e:/codice/build/indovinam1jsp Utilizzo diretto dei comand ciascun comando può essere impartito attraverso una richiesta HTTP ad un URI opportuno fornendo i parametri nella query string 52

Applicazioni Web J2EE: Struttura >> Amministrazione del Contenitore Il Manager di Tomcat Forma generale degli URI (comandi) http://localhost:8080/manager/<comando>?<query> elenco nella docum. di Tomcat (accessibile a partire dall URI http://localhost:8080) Nel seguito: alcuni comandi utili Comando list elenca le applicazioni installate, lo stato delle applicazioni, e per ciascuna le sessioni attive http://localhost:8080/manager/list 53 Applicazioni Web J2EE: Struttura >> Amministrazione del Contenitore Il Manager di Tomcat Comando install installa una nuova applicazione Web nella query string è necessario specificare l alias (il path su cui montare l applicazione) e il percorso per raggiungere la radice Esempio: http://localhost:8080/manager/ install?path=/prova&war=file:/usr/webapps/prova supponiamo che l applicazione prova sia nella cartella prova di webapps 54

Applicazioni Web J2EE: Struttura >> Amministrazione del Contenitore Il Manager di Tomcat Comando reload ricarica i servlet e i componenti di un applicazione Web già installata nella query string è necessario specificare il path su cui l applicazione è montata Esempio: http://localhost:8080/manager/reload?path=/prova 55 Applicazioni Web J2EE: Struttura >> Amministrazione del Contenitore Il Manager di Tomcat Comando remove disinstalla un applicazione Web nella query string è necessario specificare il path su cui l applicazione è montata Esempio: http://localhost:8080/manager/remove?path=/prova 56

Applicazioni Web J2EE: Struttura >> Sommario Riassumendo Applicazione Web J2EE Struttura dell Applicazione Organizzazione delle Cartelle Descrittore dell Applicazione URI delle Risorse Amministrazione Installazione ( Deployment ) Il manager di Tomcat 57 Termini della Licenza Termini della Licenza This work is licensed under the Creative Commons Attribution- ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Questo lavoro viene concesso in uso secondo i termini della licenza Attribution-ShareAlike di Creative Commons. Per ottenere una copia della licenza, è possibile visitare http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. 58