2012-08-27 8 views
23

Utilizzo Eclipse EE Juno e la mia applicazione Web corrente utilizza Dynamic web modules 2.4. Sto provando a scaricare la versione fino alla 3.0 ma per qualche motivo non sono in grado di farlo. quando provo a cambiare la versione nelle faccette del progetto ottengo Cannot change version of project facet Dynamic Web Module to 3.0. È possibile che ci sia una linea di cuccetta nel mio file web.xml che determina questo? Come posso cambiare la versione dei moduli Web dinamici se non da sola l'impostazione di sfaccettatura del progetto Eclipse?App Web Java: cosa determina la mia versione dell'API Servlet? Viene specificato in web.xml?

risposta

38

Servlet 2.4 in web.xml:

<web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation=" 
    http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 

Servlet 3.0 in web.xml:

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

questa è l'unica differenza. Il resto è la tua configurazione IDE. Per utilizzare Servlet 3.0 è necessario disporre di 3,0 JAR sul CLASSPATH in modo che siano disponibili nuove annotazioni e altre classi. Ma non includere il JAR di servlet nel tuo WAR, l'implementazione dovrebbe provenire dal container servlet.

+1

[Servlet 3.1] (https://jcp.org/en/jsr/detail?id=340) è aggiornato al 2013-05. Vedi [Wikipedia] (https://en.wikipedia.org/wiki/Java_servlet#History) per la cronologia. –

Problemi correlati