Utilisation du fichier de configuration des types de client avec PageListServlet

Les informations de configuration de PageListServlet peuvent être définies dans le fichier des extensions Web IBM®. Ce fichier des extensions Web IBM est créé et stocké dans le fichier WAR (Web Application Archive) par un outil d'assemblage.

Pourquoi et quand exécuter cette tâche

Avertissement : L'extension personnalisée du servlet PageList est obsolète dans WebSphere Application Server Version 9.0 et sera supprimée dans une future édition. Donnez une nouvelle architecture à vos applications existantes de manière à utiliser les classes javax.servlet.filter au lieu des classes com.ibm.servlet. A partir de la spécification Servlet 2.3 (classes javax.servlet.filter), vous pouvez intercepter les requêtes et examiner les réponses. Vous pouvez également utiliser les classes javax.servlet.filter pour les fonctions de chaînage, de mise en forme ou de troncature des réponses.

Pour configurer et implémenter des listes de pages, procédez aux opérations ci-dessous.

Procédure

  1. Pour configurer les informations des listes de pages, utilisez la boîte de dialogue Ajout d'un langage de marquage d'un outil d'assemblage. Dans l'onglet Servlets d'un éditeur de descripteur de déploiement web, sélectionnez un servlet et cliquez sur Ajouter sous WebSphere Extensions.
  2. Ajoutez la méthode callPage() au servlet pour appeler un fichier JSP en réponse à une demande client.

    La méthode callPage() de PageListServlet appelle un fichier JSP en réponse à la demande HTTP d'une page figurant dans la liste de pages. La méthode callPage() peut être appelée de l'une des façons suivantes :

    • callPage(String nomPage, HttpServletRequest demande, HttpServletResponse réponse)

      où les arguments sont :

      nomPage
      Nom de page défini dans la configuration PageListServlet
      demande
      Objet HttpServletRequest
      response
      Objet HttpServletResponse
    • callPage(String nomLangage, String nomPage, HttpServletRequest demande, HttpServletResponse réponse)

      où les arguments sont :

      nomLangage
      Type du langage de marquage
      nomPage
      Nom de page défini dans la configuration PageListServlet
      demande
      Objet HttpServletRequest
      response
      Objet HttpServletResponse
  3. A l'aide du support de détection du client de servlet PageList, déterminez le type du langage de marquage que requiert le client appelant pour la réponse.

Extension de PageListServlet

L'exemple suivant illustre la façon dont un servlet étend la classe PageListServlet et identifie le type du langage de marquage requis par le client. Le servlet utilise ensuite la méthode callPage afin d'appeler un fichier JSP approprié. Dans cet exemple, le fichier JSP qui fournit le langage de balisage approprié pour la réponse est Hello.page.

public class HelloPervasiveServlet extends PageListServlet implements Serializable
{
     /*
     * doGet -- Traitement des demandes GET HTTP en entrée
     */
    public  void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    {
       // Nom de la page à appeler :
       String pageName = "Hello.page";
 
       // Vérifier d'abord si le servlet a été appelé avec un queryString contenant 
		  // une valeur de langage de balisage.
       // Par exemple, si le servlet est appelé de cette façon :
       //  http://localhost/servlets/HeloPervasive?mlname=VXML
       //  utilisez ensuite cette méthode :
       String mlname= getMLNameFromRequest(request);

        // Si aucun type de langage de marquage n'est fourni dans la queryString, 
        // essayer de déterminer le
        // Type du client de la requête, puis utiliser le nom du langage de marquage configuré dans 
        // le fichier client_types.xml.   
        if (mlName == null)
        {
          mlName = getMLTypeFromRequest(request);
         }
         try
         {
           // Appel de la page de demande.
           callPage(mlName, pageName, request, response);
          }
          catch (Exception e)
          { 
            handleError(mlName, request, response, e);
           }
       }
}

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tweb_ssplx
Nom du fichier : tweb_ssplx.html