Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Deployment Descriptor

Il deployment descriptor rappresenta il fulcro della fase di deployment. Vediamo gli elementi che possono essere utilizzati all'interno dell'elemento web-app
Il deployment descriptor rappresenta il fulcro della fase di deployment. Vediamo gli elementi che possono essere utilizzati all'interno dell'elemento web-app
Link copiato negli appunti

Negli articoli precedenti abbiamo visto svariati esempi di applicazioni Web, spesso basate sull'Application Server Tomcat. Come abbiamo avuto modo di osservare, ognuna di queste applicazioni necessitava di una fase finale di deployment in cui era necessario specificare (manualmente o avvalendosi di un IDE, come Eclipse) alcune informazioni necessarie all'Application Server per poter mandare in esecuzione e gestire correttamente la nostra applicazione.

Il deployment descriptor rappresenta il fulcro della fase di deployment. Esso è costituito da un file di tipo XML, denominato web.xml, che sia conforme allo standard XML 1.0 e sia posizionato nella directory WEB-INF, localizzata appena sotto la root associata ad ogni singola applicazione web.

Le specifiche 2.3 delle Servlet definiscono una serie ben precisa di elementi che possono essere utilizzati all'interno dell'elemento web-app. Un deployment descriptor completo di tutti i possibili elementi:

Listato 1. deployment descriptor completo di tutti i possibili elementi (Vedi codice completo)

<?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>
    <icon>
        <small-icon></small-icon>
        <large-icon></large-icon>
    </icon>
    ..//
    <filter-mapping>
        <filter-name></filter-name>
        <url-pattern></url-pattern>        <!-- Mutuamente esclusivi -->
        <servlet-name></servlet-name>
    </filter-mapping>
    ..//
    <servlet-mapping>
        <servlet-name></servlet-name>
        <url-pattern></url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout></session-timeout>
    </session-config>
    ..//
</web-app>

Naturalmente, non tutti gli elementi contenuti nel deployment descriptor precedente sono obbligatori ed alcuni di essi (come url-pattern e servlet-name, figli di filter-mapping) sono mutuamente esclusivi, ovvero, è possibile utilizzare l'uno o l'altro ma non tutti e due contemporaneamente.

Per altri elementi è anche possibile prevederne la presenza contemporanea di un numero maggiore o uguale ad 1 (ad esempio, welcome-file, figlio di welcome-file-list) e per altri ancora di un numero maggiore o uguale a zero (ad esempio, context-param, figlio di web-app).

Vediamo ora il significato di ognuno degli elementi presenti nel precedente file.

elemento descrizione Fac.
icon Contiene il path relativo ad un file di tipo GIF o JPEG che può essere utilizzato da un tool grafico per rappresentare l'applicazione web X
small-icon Stessa semantica dell'elemento padre icon, rappresenta un'immagine di piccolo formato X
large-icon Stessa semantica dell'elemento padre icon, rappresenta un'immagine di formato più grande. X
display-name Rappresenta un nome che può essere utilizzato da uno strumento di gestione dell'applicazione per rappresentare l'applicazione web. X
description Contiene una descrizione dell'applicazione web. X
distributable Descrive se è possibile effettuare il deployment dell'applicazione web su un servlet container distribuito (attraverso l'utilizzo di più server). Il valore di default è false. X
context-param Contiene la dichiarazione di un parametro di inizializzazione utilizzato all'interno dell'applicazione web. Può essere presente n volte (per dichiarare più parametri), con n che varia da zero ad un numero qualsiasi.
param-name Il nome del parametro di inizializzazione.
param-value Il valore del parametro di inizializzazione. Si noti che è possibile passare parametri all'applicazione soltanto come stringhe.
description Una descrizione relativa al parametro di inizializzazione. X
filter Definisce un filtro, utilizzato dall'applicazione web. Per maggiori dettagli sui filtri, vedasi l'articolo. Può essere presente n volte (per dichiarare più filtri), con n che varia da zero ad un numero qualsiasi.
icon Contiene il path relativo ad un file di tipo GIF o JPEG che può essere utilizzato da un tool graficoper rappresentare il filtro. X
filter-name Contiene il nome del filtro.
display-name Il nome del filtro visualizzato dai tool grafici. X
description Contiene una descrizione del filtro. X
filter-class Il nome completo della classe che implementa il filtro.
init-param Consente di definire un parametro di inizializzazione per il filtro. Può essere presente n volte(per dichiarare più parametri), con n che varia da zero ad un numero qualsiasi
filter-mapping Contiene il nome logico del filtro specificato nell'elemento filter. Può essere presente n volte, tante quante sono gli elementi di tipo filter.
filter-name Lo stesso nome utilizzato all'interno dell'elemento filter-name, figlio di filter.
url-pattern La URL del componente a cui applicare il filtro. È mutuamente esclusivo con il tag servlet-name(definito di seguito).
servlet-name La servlet a cui verrà applicato il filtro. È mutuamente esclusivo con il tag url-pattern.
listener Definisce una classe di tipo listener (ascoltatore) che viene utilizzata dal container quando si verificaun determinato evento. Può essere presente n volte (per dichiarare più listener), con n che varia da zero ad un numero qualsiasi
listener-class Il nome della classe che implementa il listener.

elemento descrizione Fac.
servlet Contiene la definizione di una servlet utilizzata all'interno dell'applicazione web. Può essere presente n volte (per dichiarare più servlet), con n che varia da zero ad un numero qualsiasi
icon Contiene il path relativo ad un file di tipo GIF o JPEG che può essere utilizzato da un tool graficoper rappresentare la Servlet. L'elemento presenta anche small-icon e large-icon X
servlet-name Contiene il nome user-frienly della Servlet che è possibile utilizzare per la risorsa.
display-name Rappresenta un nome che può essere utilizzato da un tool grafico per rappresentare la Servlet.Facoltativo.
description Una descrizione della Servlet. X
servlet-class Contiene il nome della classe che implementa la servlet. È mutuamente esclusivo con l'elemento jsp-file.
jsp-file Il nome completo di una pagina JSP presente all'interno dell'applicazione web. È mutuamente esclusivo con l'elemento servlet-class.
init-param Simile all'elemento context-param, consente di definire un parametro di inizializzazione di accessoesclusivo per la servlet. Può essere presente n volte (per dichiarare più parametri), con n che varia da zero ad un numero qualsiasi. L'elemento presenta anche param-name, param-value e description
load-on-startup Contiene un valore intero positivo che specifica l'ordine, rispetto alle altre servlet (se presenti), che la servlet in questione dovrà rispettare per essere avviata automaticamente alla partenza del server. Le servlet con valori più bassi saranno caricate prima rispetto alle servlet con valori più alti. Se esistono servlet con i medesimi valori di load-on-startup, il loro avvio sarà deciso in maniera arbitraria dal server. Se non è definito questo tag, la servlet verrà caricata quando il server riceverà la prima richiesta ad essa relativa. X
run-as Specifica una security identity da utilizzare durante l'esecuzione dell'applicazione web, ad esempio durante l'invocazione un EJB dalla servlet. L'elemento presenta anche description e role-name X
security-role-ref Contiene la dichiarazione di un riferimento ad un security role, presente nel codice dell'applicazione web. Può essere presente n volte (per dichiarare più riferimenti), con n che varia da zero ad un numero qualsiasi. L'elemento presenta anche description, role-name e role-link
servlet-mapping Consente di definire degli alias per una servlet. In altre parole, questo elemento viene utilizzato per mappare una particolare URI su una servlet avente un preciso nome. Può essere presente n volte (in relazione alle servlet definite), con n che varia da zero ad un numero qualsiasi
session-config :Consente di configurare i parametri di sessione da utilizzare per l'applicazione web. X
session-timeout Definisce il valore di timeout delle sessioni. X
mime-mapping Definisce un mapping tra un'estensione ed un mime-type. Può essere presente n volte (è possibile definire più mapping), con n che varia da zero ad un numero qualsiasi.
extension Contiene una stringa che definisce una estensione da associare ad un mime type. Ad esempio: "txt".
mime-type Contiene un mime type definito da associare all'estensione. Ad esempio: text/plain.
welcome-file-list Consente di definire i file da restituire al client quando non viene specificata alcuna risorsa nella richiesta pervenuta al server. X
welcome-file Il nome del file da caricare. Può essere presente n volte (in relazione alle possibili pagine da caricare per default), con n che varia da uno ad un numero qualsiasi.
error-page Consente di definire una pagina di errore da restituire al client quando si verifica un determinato errore (o una particolare eccezione). Può essere presente n volte (è possibile definire più pagine di errore, in relazione agli errori che si desidera gestire), con n che varia da uno ad un numero qualsiasi.
error-code Il codice dell'errore che fa scattare la visualizzazione della pagina di errore. È mutuamente esclusivo con il tag exception-type. X
exception-type L'eccezione che fa scattare la visualizzazione della pagina di errore.. Se non viene specificato nessun codice o nessuna eccezione, la pagina di errore definita nel tag location verrà visualizzata in ogni circostanza in cui si sia verificato un errore applicativo o si sia scatenata un'eccezione. X
location La locazione della pagina di errore.

elemento descrizione Fac.
tag-lib Consente di definire la locazione delle tag libraries. Può essere presente n volte (è possibile definire più tag libraries da utilizzare), con n che varia da zero ad un numero qualsiasi.
taglib-uri La URI (relativa alla posizione del file web.xml) che identifica la tag library utilizzata nell'applicazione web.
taglib-location La locazione dove si trova il description file della tag library.
resource-env-ref Consente di configurare una risorsa esterna che può essere utilizzata nell'ambiente dell'applicazione web. Differisce, in genere, dalle risorse definite nel tag resource-ref (definito di seguito) dal fatto che è possibile ottenere diretto accesso alla risorse senza passare attraverso oggetti di tipo factory. Può essere presente n volte (è possibile definire più risorse esterne), con n che varia da zero ad un numero qualsiasi.
description Contiene la descrizione della risorsa esterna. X
resource-env-ref-name Contiene il nome della risorsa esterna.
resource-env-ref-type Contiene il tipo della risorsa esterna, ovvero il nome di una classe o interfaccia Java.Obbligatorio
resource-ref Similmente al tag resource-env-ref, consente di configurare una risorsa esterna da utilizzare nell'applicazione web. In particolare, in questo caso, si fa riferimento a risorse che restituiscono delle connessioni, come URL connections, JDBC connections o JMS connections, attraverso l'utilizzo di oggetti di tipo factory,. Può essere presente n volte (è possibile definire più risorse esterne), con n che varia da zero ad un numero qualsiasi
description Contiene la descrizione della risorsa esterna. X
res-ref-name Contiene il nome del riferimento alla connection factory del resource manager.
res-type Contiene il tipo della risorsa esterna, ovvero il nome di una classe o interfaccia Java.
res-auth Descrive il tipo di autenticazione da utilizzare verso il resource manager. Può assumere uno deidue valori seguenti: Application, Container.
res-sharing-scope Specifica se le connessioni ottenute attraverso il riferimento alla connection factory del resource manager possono essere condivise o meno. Può assumere uno dei due valori seguenti: Shareable, Unshareable. X
security-constraint Descrive i ruoli o gli utenti che possono accedere alle risorse dell'applicazione web. Può essere presente n volte (è possibile definire più vincoli di sicurezza), con n che varia da zero ad un numero qualsiasi.
display-name Rappresenta un nome che può essere utilizzato da un tool grafico per rappresentare la securityconstraint
web-resource-collection Viene utilizzato per identificare un sottoinsieme delle risorse e dei metodi HTTP dell'applicazione web su cui viene applicato un vincolo di sicurezza. Se non viene specificato alcun metodo HTTP, allora il vincolo definito si applica a tutti i metodi HTTP. Può essere presente n volte con n che varia da uno ad un numero qualsiasi. L'elemento presenta anche web-resource-name description, url-pattern, http-method
auth-constraint Definisce i ruoli degli utenti o dei gruppi che hanno accesso alle collezioni di risorse definite nei tag web-resource-collection. X
user-data-constraint Contiene la definizione relativa ai vincoli di sicurezza necessari per la comunicazione trailclient ed il container. L'elemento presenta anche description, transport-guarantee
login-config Configura il metodo di autenticazione degli utenti. Facoltativo
auth-method Può contenere uno dei seguenti valori: "BASIC", "DIGEST", "FORM", "CLIENT-CERT". X
realm-name Il nome del dominio cui si fa riferimento per autenticare le credenziali dell'utente. X
form-login-config Utilizzato per la configurazione del login in relazione alla immissione del valore "FORM" nel tag auth-method.. X

elemento descrizione Fac.
security-role Consente la definizione di un security role. Può essere presente n volte (per definire più security role), con n che varia da zero ad un numero qualsiasi
description Contiene la descrizione del security role. X
role-name Contiene il nome del security role.
env-entry Consente di definire una risorsa che può essere acceduta attraverso l'interfaccia JNDI. Può essere presente n volte, con n che varia da zero ad un numero qualsiasi
description Contiene una descrizione della risorsa. X
env-entry-name Contiene il nome della risorsa.
env-entry-value Contiene il valore della risorsa. Se non viene specificato alcun valore, è necessario fornirne uno in fase di deployment. X
env-entry-type Contiene il tipo della risorsa. Può essere uno dei seguenti tipi: Boolean, String, Integer, Double, Float.
ejb-ref Viene utilizzato per la dichiarazione di un riferimento ad un Enterprise Java Bean (EJB) che viene acceduto attraverso le interfacce Remote Home e Component. Può essere presente n volte (per definire più EJB), con n che varia da zero ad un numero qualsiasi
description Contiene la descrizione dell'EJB. X
ejb-ref-name Contiene il nome del riferimento all'EJB utilizzato nel codice dell'applicazione web.
ejb-ref-type Contiene il tipo dell'EJB referenziato. Ad esempio: session.
home Contiene la dichiarazione dell'interfaccia home relativa all'EJB referenziato.
remote Contiene la dichiarazione dell' interfaccia remote relativa all'EJB referenziato.
ejb-link Specifica quale sia l'EJB effettivamente referenziato. X
ejb-local-ref Viene utilizzato per la dichiarazione di un riferimento ad un Enterprise Java Bean (EJB) che viene acceduto attraverso le interfacce Local Home e Component. Può essere presente n volte (per definire più EJB), con n che varia da zero ad un numero qualsiasi
description Contiene la descrizione dell'EJB. X
ejb-ref-name Contiene il nome del riferimento all'EJB utilizzato nel codice dell'applicazione web.
ejb-ref-type Contiene il tipo dell'EJB referenziato, ad esempio, session.
local-home Contiene la dichiarazione dell' interfaccia local home relativa all'EJB referenziato.
local Contiene la dichiarazione dell' interfaccia local relativa all'EJB referenziato.
ejb-link Specifica quale sia l'EJB effettivamente referenziato. X


Ti consigliamo anche