Personnalisation des fichiers web.xml pour les fichiers WAR (archive Web)

Vous pouvez personnaliser le fichier web.xml file utilisé par le plan de travail dans le fichier WAR généré par le plan de travail pour votre service Web. Si vous souhaitez que certains filtres pour les requêtes reçues par votre service Web soient déployées en même temps que le service, vous pouvez modifier le fichier web.xml en y ajoutant ces filtres. Vous pouvez également ajouter des servlets ou des balises de mappage de servlets.

Pourquoi et quand exécuter cette tâche

Bien que le projet de votre service Web contienne un fichier web.xml, vous ne modifiez pas directement le fichier web.xml. En réalité, vous créez un canevas qui contient les modifications que vous souhaitez que le plan de travail ajoute au fichier web.xml lorsqu'il génère de nouveau le fichier WAR.

Lorsque vous utilisez l'Assistant Générer et déployer pour générer un fichier WAR, le plan de travail supprime tous les fichiers de votre projet et les recrée. Par conséquent, si vous modifiez directement le fichier web.xml, l'utilisation de l'Assistant Générer et déployer entraîne la perte de vos modifications.

Lorsque vous utilisez un canevas contenant les modifications que vous souhaitez apporter au fichier web.xml, le plan de travail fusionne le contenu de ce canevas et le contenu du fichier web.xml créé.

Procédure

Pour personnaliser un fichier web.xml :

  1. Ouvrez la vue Navigateur, si elle n'est pas déjà ouverte.
    1. Sélectionnez Fenêtre > Afficher la vue > Autre.
    2. Dans la fenêtre Afficher la vue, sélectionnez Général > Navigateur.
  2. Cliquez avec le bouton droit de la souris sur le dossier .metadata de votre projet, puis sélectionnez Nouveau > Autre. Dans l'Assistant Nouveau, développez Propriétés générales et sélectionnez Dossier. Cliquez sur Suivant. Sur la page Nouveau dossier, entrez templates comme nom. Cliquez sur Terminer.
  3. Cliquez avec le bouton droit de la souris sur le dossier templates, puis sélectionnez Nouveau > Autre. Dans l'Assistant Nouveau, développez Propriétés générales et sélectionnez Dossier. Cliquez sur Suivant. Sur la page Nouveau dossier, entrez j2ee comme nom. Cliquez sur Terminer.
  4. Cliquez avec le bouton droit de la souris sur le dossier j2ee, puis sélectionnez Nouveau > Autre. Dans l'Assistant Nouveau, développez Propriétés générales et sélectionnez Fichier. Cliquez sur Suivant. Sur la page Nouveau fichier, entrez web_template.xml comme nom. Cliquez sur Terminer.
  5. Dans l'éditeur du nouveau fichier, sélectionnez l'onglet Source. Effectuez une opération de copier-coller avec les balises suivantes dans l'éditeur :
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    version="2.5">
    
    </web-app>
  6. Ajoutez le contenu que vous souhaitez que le plan de travail intègre au fichier web.xml qu'il génère pour le fichier WAR de votre service Web. Vous pouvez ajouter du contenu à toutes les balises définies par le schéma de la norme Java Servlet 2.5.
    Exemple de canevas :
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
    <filter>
        <filter-name>DebugFilter-In</filter-name>
        <description>Print XMl request, XML response and current timestamps</description>
        <filter-class>com.vzb.varwebservices.filter.DebugFilter</filter-class>
        <init-param>
           <param-name>input</param-name>
           <param-value>true</param-value>
        </init-param>
    </filter>
    
    <servlet>
        <servlet-name>testServlet1</servlet-name>
        <servlet-class>com.ibm.datatools.dsws.rt.testclient.testServlet1</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>testServlet1</servlet-name>
        <url-pattern>/TestClient/testServlet1</url-pattern>
    </servlet-mapping>
     
    <servlet>
        <servlet-name>testServlet2</servlet-name>
        <servlet-class>com.ibm.datatools.dsws.rt.testclient.testServlet2</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>testServlet2</servlet-name>
        <url-pattern>/TestClient/testServlet2</url-pattern>
    </servlet-mapping>
    </web-app>
  7. Sauvegardez votre canevas. Lors de la prochaine génération de votre projet, le plan de travail insère le contenu du fichier de canevas dans le fichier web.xml destiné au fichier WAR alors généré.

Commentaires