Il file web.xml

Programmazione Web e Database Visite: 10007
document_2 Il file web.xml: varie note
Nuovo manuale per la mia sezione dedicata al web.
Questo sintetico manuale parla del famoso file web.xml. Volete sapere qualcosa in più su questo misterioso e utilissimo file delle web application? Volete conoscere alcuni suoi utilissimi parametri come quelli per il timeout dell'applicazione?

Il file web.xml definisce alcuni comportamenti fondamentali per una applicazione web (servlet, pagine JSP, bean, ...).
Il file web.xml si deve trovare dentro la cartella WEB-INF che a sua volta si trova nella root della nostra applicazione.

Vediamo com'è fatto questo file.

Un esempio di file web.xml potrebbe essere il seguente è:

<?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>

<display-name>
Nome dell'applicazione
</display-name>
<description>
Descrizione dell'applicazione
</description>

<context-param>
<param-name>nome_parametro</param-name>
<param-value>valore_parametro</param-value>
</context-param>

<servlet>
<servlet-name>nome_servlet</servlet-name>
<description>descrizione_servlet</description>
<servlet-class>path classe servlet</servlet-class>
<init-param>
<param-name>nome_parametro_servlet</param-name>
<param-value>valore</param-value>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name>nome_per_invocare_la_servlet</servlet-name>
<url-pattern>/nome_per_invocare_la_servlet</url-pattern>
</servlet-mapping>

<session-config>
<session-timeout>60</session-timeout>
</session-config>

</web-app>


Vediamo di spiegare qualcuna delle sue parti.

context-param
In questa sezione vengono elencati i parametri che l'applicazione può usare.
Per leggere questi valori del context-param si può fare:

String value = getServletContext().getInitParameter("nome_parametro");

init-param
Qui troviamo i parametri di inizializzazione.
I parametri di inizializzazione di una servlet possono essere letti così:

String value = getServletConfig().getInitParameter("nome_parametro_servlet");

session-timeout
Qui si può indicare il timeout della sessione della servlet espresso in minuti.