Question Quelle est la version de l'application Web? Qu'est-ce que cela affecte?


Dans une application Web java, il existe un fichier appelé web.xml et un contrôle de version.

Qu'est-ce que c'est exactement? A quoi cela sert?

Ici est le wiki SO pour web.xml. Mais ça ne m'explique pas vraiment beaucoup.

Il vous permet de définir, déclarer et configurer l’API Servlet   implémentations dans votre application Web, telles que les servlets, les filtres et   les auditeurs.

Est-ce que quelqu'un peut expliquer cela avec des exemples simples peut-être?

Je vous remercie.

Modifier:

Exemple de contrôle de version web.xml:

<web-app 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"
         version="3.0">

22
2018-04-13 07:25


origine


Réponses:


Web.xml est un endroit central où vous définissez la configuration de votre application Web. Par exemple, vous pouvez spécifier ici:

Je suggère également de rechercher les spécifications de Servlet 3.0, où beaucoup de ces paramètres peuvent être définis par des annotations.

Versioning

Le contrôle de version fait référence à la version du schéma XML que la syntaxe de votre web.xml le fichier doit obéir. Plus important encore, il indique également la version de la spécification Servlet que votre application implémente. Un exemple de la conformité de Servlet 3.0 web.xml devrait commencer:

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

La plupart des IDE généreront automatiquement cette partie de web.xml. Si vous voulez le modifier manuellement pour une raison quelconque, faites attention à faire correspondre les versions de web-app et de xsd - voir cette réponse par exemple.

Pour des exemples concrets de web.xml, voir:


30
2018-04-13 08:38



A partir de Servlet 3.0, Web.xml est facultatif, vous pouvez utiliser @WebServlet l'annotation à la place.

Si vous utilisez Spring, org.springframework.web.WebApplicationInitializer  peut être utilisé au lieu ou avec web.xml.

WebApplicationInitializer: 

Interface à implémenter dans Servlet 3.0+   environnements afin de configurer le ServletContext par programmation   - par opposition à (ou éventuellement avec) l’approche traditionnelle basée sur web.xml.

Pour répondre à votre question ci-dessous.

Qu'est-ce que cela affecte? (Dans une application printanière)

Contrôle de version web.xml:

cependant, si WEB-INF/web.xml est présent dans l'application, sa version attribut doit être réglé sur "3.0" ou plus, autrement ServletContainerInitializer  le bootstrap sera ignoré par le conteneur de servlet.

Vous pouvez lire le document java complet de WebApplicationInitializer ici.


4
2017-07-08 16:00



ce que je comprends du web.xml esp pour la partie de web-app version="3.0" est la version de votre servlet. Donc, je limite ma réponse à la version du servlet et pourquoi c'est si important. Comme vous le savez peut-être, la version de votre servlet contrôle la plupart des autres normes lorsque vous programmez avec Java EE.

Par exemple,

JSF 2.0 nécessite que SERVLET 2.5 soit fourni avec JAVA EE5 et que WEBLOGIC 10.3.X supporte toutes ces technologies. Pour d’autres conteneurs, vous devez vérifier les notes de version. Deuxièmement, JSF 2.1 requiert SERVLET 3.0 fourni avec JAVA EE6 et WEBLOGIC 12c prend en charge toutes ces technologies. Bien entendu, la rétrocompatibilité est assurée, même si la plupart des cas peuvent avoir des problèmes.

Lorsque nous vérifions les notes de publication de weblogic 12c, j'ai présenté les technologies les plus importantes prises en charge avec la version de servlet. J'espère que cela vous sera également utile avec la grande réponse de Miljen Mikic.

Standard    Version
Contexts and Dependency Injection for Java EE   1.0
Dependency Injection for Java EE    1.0
Expression Language (EL)    2.2, 2.1, 2.0
Only JSP 2.0 and greater supports Expression Language 2.x.
JAAS    1.0 Full
JASPIC  1.0
Java API for XML-Based Web Services (JAX-WS)    2.2, 2.1, 2.0
Java API for RESTful Web Services (JAX-RS)  1.1
Java Authorization Contract for Containers (JACC)   1.4
**Java EE   6.0**
Java EE Application Deployment  1.2
Java EE Bean Validation 1.1
Jave EE Common Annotations  1.0
Java EE Connector Architecture  1.6
Java EE EJB 3.1
Java EE Enterprise Web Services 1.3, 1.2, 1.1
Jave EE Interceptors    1.1
**Java EE JDBC  4.0, 3.0**
Java EE JMS 1.1, 1.0.2b
Java EE JNDI    1.2
**Java EE JSF   2.1, 2.0, 1.2, 1.1**
Java EE JSP 2.2, 2.1, 2.0, 1.2, and 1.1
JSP 1.2. and 1.1 include Expression Language (EL), but do not support EL 2.x or greater.
Java EE Managed Beans   1.0
**Java EE Servlet   3.0, 2.5, 2.4, 2.3, and 2.2**
Java RMI    1.0
JavaMail    1.4
JAX-B   2.2, 2.1, 2.0
JAX-P   1.3, 1.2, 1.1
JAX-R   1.0
JAX-RPC 1.1
JCE 1.4
**JDKs  6.0 (aka 1.6), 5.0 (aka 1.5, clients only)**
JMX 1.2, 1.0
JPA 2.0, 1.0
JSR 77: Java EE Management  1.1
JSTL    1.2
Managed Beans   1.0
OTS/JTA OTS 1.2 and JTA 1.1
RMI/IIOP    1.0
SOAP Attachments for Java (SAAJ)    1.3, 1.2
Streaming API for XML (StAX)    1.0
Web Services Metadata for the Java Platform 2.0, 1.1

1
2018-04-13 11:17