Home / Programmazione / Java / Registrazione Servlet in una web app Java
Mattepuffo

Registrazione Servlet in una web app Java

Registrazione Servlet in una web app Java

Le Servlet sono dei componenti fondamentali in una applicazione web scritta in Java.

L'unica cosa che bisogna ricordarsi è di registrarle; per farlo abbiamo due modi.

Il primo, quello classico, è usare il file web.xml; in genere gli IDE richiedono se registrare una Servlet nel web.xml o meno (o almeno Netbeans lo fa).

Coumunque è sempre possibile farlo a mano con questa sintassi:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <servlet>
        <servlet-name>SimpleServlet</servlet-name>
        <servlet-class>com_mf.SimpleServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>SimpleServlet</servlet-name>
        <url-pattern>/SimpleServlet</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>

Nelle ultimissime versioni, però, non è più obbligatorio usare questo file; è possibile registrarle direttamente da codice usando una semplice riga.

Ecco un esempio:

@WebServlet(name = "SimpleServletNoDescriptor", urlPatterns = {"/ssnd"})
public class SimpleServletNoDescriptor extends HttpServlet {

      // DO STUFF

}

Notate la riga sopra l'inizializzazione della classe.

In pratica abbiamo usato l'Annotation @WebServlet indicando il nome e il path.

Usando questa annotation non dobbiamo più usare il file web.xml.

Un pro di questa modalità è che non appesantiamo il file XML, usando anche una sintassi molto più concisa e leggera; il contro è la portabilità, in quanto le versioni più vecchie non supportanto questa annotation.