Maison >développement back-end >Tutoriel XML/RSS >Introduction détaillée au rôle du fichier web.xml

Introduction détaillée au rôle du fichier web.xml

黄舟
黄舟original
2017-03-11 18:03:282534parcourir

Il existe un fichier web.xml dans chaque projet javaEE, alors quel est son rôle ? Est-il obligatoire pour chaque projet web.xml ?
Un web n'a pas besoin d'un fichier web.xml En d'autres termes, le fichier web.xml n'est pas nécessaire pour les projets web. Le fichier
web.xml est utilisé pour initialiser les informations de configuration : telles que la page d'accueil, le servlet, le servlet-mapping, le filtre, la listener, Niveau de chargement de démarrage, etc.

Lorsque votre projet web ne les utilise pas, vous pouvez configurer votre Application sans le fichier web.xml.


Chaque fichier XML possède un fichier de schéma définition pour l'écriture des règles, c'est-à-dire combien de balises sont définies dans le fichier de schéma XML correspondant à l'élément web.xml de définition de javaEE , l'élément tag qu'il définit peut apparaître dans web.xml, et il a également des fonctions spécifiques. Le fichier modèle de web.xml est défini par Sun. L'élément racine de chaque fichier web.xml est 8459cedd22f378aa35db2cd2b63decac, quel fichier de schéma est utilisé par ce web.xml doit être indiqué. Par exemple :

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" 
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://www.php.cn/"> 
</web-app>

Les balises définies dans le fichier de modèle web.xml ne sont pas fixes, et le fichier de modèle peut également être modifié de manière générale, avec la version du modèle web.mxl. fichier Après la mise à niveau, les fonctions qui y sont définies deviendront de plus en plus complexes et les types d'éléments d'étiquette augmenteront certainement, mais certains ne sont pas très couramment utilisés. Il suffit de se souvenir de ceux couramment utilisés et de savoir comment les configurer.

Ce qui suit répertorie certains éléments de balise couramment utilisés et leurs fonctions dans web.xml :
1 Spécifiez la page d'accueil, par exemple :

<welcome-file-list> 
  <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>index1.jsp</welcome-file> 
  </welcome-file-list>

PS : 2. est précisé Lors de l'affichage d'une page d'accueil, commencer par la première dans l'ordre. Si la première existe, la première sera affichée, et les suivantes n'auront aucun effet. Si le premier n’existe pas, trouvez le second, et ainsi de suite.

À propos de la page d'accueil :

Lorsque vous visitez un site Web, la première page que vous voyez par défaut est appelée la page d'accueil. Généralement, la page d'accueil sert de page d'accueil. Normalement, nous préciserons la page d'accueil dans web.xml. Mais web.xml n'est pas un fichier nécessaire pour le Web. Sans web.xml, le site Web peut toujours fonctionner normalement. Cependant, lorsque les fonctions du site Web deviennent plus compliquées, web.xml est en effet très utile. Par conséquent, le projet Web dynamique créé par défaut possède un fichier web.xml sous le dossier WEB-INF.

2. Nommer et personnaliser l'URL. Nous pouvons nommer et personnaliser les URL des fichiers Servlet et JSP. Les URL personnalisées dépendent de la dénomination, et la dénomination doit précéder l'URL personnalisée. Prenons l'exemple de Serlet :
(1), nommez le Servlet :

<servlet> 
    <servlet-name>servlet1</servlet-name> 
    <servlet-class>org.whatisjava.TestServlet</servlet-class> 
</servlet>

(2), personnalisez l'URL du Servlet,

<servlet-mapping> 
    <servlet-name>servlet1</servlet-name> 
    <url-pattern>*.do</url-pattern> 
</servlet-mapping>



3. Paramètres d'initialisation personnalisés : vous pouvez personnaliser les paramètres d'initialisation du servlet, du JSP et du Context, puis obtenir ces valeurs de paramètres dans le servlet, le JSP et le Context.

Ce qui suit utilise le servlet comme exemple :

<servlet> 
    <servlet-name>servlet1</servlet-name> 
    <servlet-class>org.whatisjava.TestServlet</servlet-class> 
    <init-param> 
          <param-name>userName</param-name> 
          <param-value>Daniel</param-value> 
    </init-param> 
    <init-param> 
          <param-name>E-mail</param-name> 
          <param-value>125485762@qq.com</param-value> 
    </init-param> 
</servlet>


4 Spécifiez la page gestion des erreurs, vous pouvez transmettre "Type d'exception". ou "Code d'erreur" » pour spécifier la page de gestion des erreurs.

<error-page> 
    <error-code>404</error-code> 
    <location>/error404.jsp</location> 
</error-page> 
----------------------------- 
<error-page> 
    <exception-type>java.lang.Exception<exception-type> 
    <location>/exception.jsp<location> 
</error-page>


5. Définir filtre  : Par exemple, définissez un filtre d'encodage pour filtrer toutes les ressources

<filter> 
    <filter-name>XXXCharaSetFilter</filter-name> 
    <filter-class>net.test.CharSetFilter</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>XXXCharaSetFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping>


6. Définissez l'auditeur :

<listener> 
<listener-class>net.test.XXXLisenet</listener-class> 
</listener>


7. Définissez l'heure d'expiration de la session (Session), où la durée est en minutes, si elle est définie sur Délai d'expiration de 60 minutes :

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

En plus de ces éléments de balise, vous pouvez également ajouter de nombreux éléments de balise à web.xml, qui sont omis car ils ne sont pas couramment utilisés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn