Propriétés personnalisées du conteneur Web

Vous pouvez configurer des paires de données nom-valeur arbitraires, où le nom est une clé de propriété et la valeur une chaîne, pouvant être utilisées pour définir des propriétés de configuration du système interne. La définition d'une nouvelle propriété permet de configurer un paramètre au-delà des éléments disponibles dans la console d'administration. La liste suivante présente une partie des propriétés personnalisées du conteneur web disponibles.

Pour spécifier les propriétés personnalisées du conteneur web :

  1. Dans la console d'administration, cliquez sur Servers > Types de serveurs > Serveurs d'applications WebSphere > nom_serveur > Paramètres du conteneur Web > Conteneur Web .
  2. Dans la section Propriétés supplémentaires, sélectionnez Propriétés personnalisées.
  3. Dans la page Propriétés personnalisées, cliquez sur Nouveau.
  4. Dans la page des paramètres, entrez le nom de la propriété personnalisée à configurer dans la zone Nom et, dans la zone Valeur, la valeur à lui attribuer.
  5. Cliquez sur Valider ou sur OK.
  6. Cliquez sur Sauvegarder dans la barre des tâches de la console d'administration pour sauvegarder les modifications apportées à la configuration.
  7. Redémarrez le serveur.

Voici la liste des propriétés personnalisées qui sont fournies avec le serveur d'applications. Les propriétés personnalisées des conteneurs Web JSP et les propriétés personnalisées du transport HTTP sont détaillées dans une autre rubrique.

Vous pouvez utiliser la page de propriétés personnalisées pour définir les propriétés suivantes de la machine virtuelle Java™.

BodyContentBuffSize

La taille de la mémoire tampon du contenu du corps d'un fichier JavaServer Pages (JSP) peut affecter les performances de certaines applications. Par défaut, la taille de la mémoire tampon du contenu du corps est de 512 octets. Toutefois, vous pouvez utiliser la propriété personnalisée BodyContentBuffSize pour définir une valeur de mémoire tampon différente.

Chaîne Valeur par défaut
BodyContentBuffSize 512

com.ibm.ws.jsf.disablealternatefacesconfigsearch

Désactive la recherche MyFaces pour META-INF/*.faces-config.xml pour toutes les applications Web sur un serveur.

Chaîne Valeur par défaut
com.ibm.ws.jsf.disablealternatefacesconfigsearch false

com.ibm.ws.jsp.doNotEscapeWhitespaceCharsInExpression

Généralement, les expressions Expression Language (EL) dans les fichiers de balise sont évaluées avant qu'une page JavaServer Page (JSP) ne soit compilée. Cependant, pour garantir qu'une expression EL dont la syntaxe contient un caractère de retour chariot (\r), de nouvelle ligne (\n) ou de tabulation (\t) ne provoque pas d'exception javax.el.Exceptionable, affectez à la propriété personnalisée com.ibm.ws.jsp.expressionistic la valeur true dans le fichier ibm-web-ext.xml.

Chaîne Valeur par défaut
com.ibm.ws.jsp.doNotEscapeWhitespaceCharsInExpression false

com.ibm.ws.jsp.enableDefaultIsELIgnoredInTag

Généralement, les expressions Expression Language (EL) dans les fichiers de balise sont évaluées avant que les fichiers de balise d'un JavaServer Page (JSP) ne soient compilés. Cependant, dans certaines conditions, ces expressions EL d'un fichier de balise ne sont pas évaluées si l'attribut <el-ignored> est paramétré sur true.

Pour vous assurer que les expressions EL sont toujours évaluées, associez la propriété personnalisée com.ibm.ws.jsp.enableDefaultIsELIgnoredInTag à la valeur true. Par défaut, cette propriété a la valeur false.

Chaîne Valeur par défaut
com.ibm.ws.jsp.enableDefaultIsELIgnoredInTag false

com.ibm.ws.jsp.expressionreturnemptystring

Cette propriété permet d'indiquer si vous souhaitez que le conteneur JSP renvoie une chaîne vide ou NULL pour les valeurs non définies dans une expression.

Une expression, telle que la suivante, peut renvoyer la valeur null lorsque testValue a pour valeur null dans testBean :
<input type='text' name='test' value='<%=testBean.getTestValue()%>'maxlength="16"> 

Certaines applications s'attendent à ce qu'une chaîne vide soit renvoyée dans ces situations plutôt que la valeur NULL. Si les applications en cours d'exécution s'attendent à ce qu'une chaîne vide soit renvoyée, ajoutez cette propriété personnalisée dans vos paramètres de conteneur Web, puis affectez à la propriété la valeur true.

Chaîne Valeur par défaut
com.ibm.ws.jsp.expressionreturnemptystring false

com.ibm.ws.jsp.getWriterOnEmptyBuffer

Le service de mise en mémoire cache dynamique utilise le vidage pour déterminer qu'un fragment Web pouvant être mis en mémoire cache, tel que JSP include ou c:import, se termine et que le fragment Web suivant commence. Si vous associez la propriété personnalisée com.ibm.wsspi.jsp.usecdatatrim à la valeur true pour votre moteur JSP, tous les blancs et toutes les lignes supplémentaires figurant dans le code Java généré sont supprimés. Dans ce cas, il est possible qu'il n'y ait aucun contenu à écrire avant le premier vidage. Si le code Java généré contient du texte ou un tout autre code avant le premier vidage, le service de mise en mémoire cache normal s'exécute.

Si vous associez la propriété personnalisée com.ibm.wsspi.jsp.usecdatatrim à la valeur true et que vous utilisez le service de cache dynamique, vous devez aussi associer la propriété personnalisée com.ibm.ws.jsp.getWriterOnEmptyBuffer à la valeur true. Cette propriété personnalisée requiert l'appel par le moteur JSP de la fonction de vidage, flush, lorsqu'il atteint la fin des premiers fragments Web pouvant être placés en mémoire cache, y compris s'il n'y a aucune donnée à vider. Par défaut, cette propriété a la valeur false.

Chaîne Valeur par défaut
com.ibm.ws.jsp.getWriterOnEmptyBuffer false

com.ibm.ws.jsp.limitBuffer

La taille de la mémoire tampon du contenu des corps de balises d'un fichier JavaServer Pages (JSP) est réutilisée pour optimiser les performances. Si la taille du corps de balise augmente et dépasse la taille de la mémoire tampon du contenu du corps par défaut, la mémoire tampon est redimensionnée pour s'adapter au corps de balise. Cependant, la mémoire tampon n'est pas réinitialisée à la taille par défaut après le traitement d'une requête. Par conséquent, le segment de mémoire qui est utilisé par l'implémentation org.apache.jasper.runtime.BodyContentImpl peut augmenter au fil du temps. Vous pouvez configurer la taille de la mémoire tampon du contenu de corps en indiquant une valeur de type entier pour la propriété personnalisée BodyContentBuffSize. Pour plus d'informations, voir la rubrique BodyContentBuffSize.

Utilisez la propriété personnalisée com.ibm.ws.jsp.limitBuffer pour libérer des tailles de mémoire tampon de contenu de corps importantes et créer une mémoire tampon de la taille par défaut.

Chaîne Valeur par défaut
com.ibm.ws.jsp.limitBuffer false

com.ibm.ws.jsp.throwExceptionForAddELResolver

Affectez à la propriété com.ibm.ws.jsp.throwExceptionForAddELResolver la valeur true si vous ne voulez pas autoriser l'enregistrement d'un objet ELResolver depuis un servlet ou un filtre après que l'application a reçu une demande du client. Lorsque cette propriété a pour valeur true, une exception IllegalStateException est émise, comme l'indique la spécification JSP (Java Server Pages) pour la méthode addELResolver() de l'interface JspApplicationContext.

Par défaut, cette propriété a la valeur false.

Chaîne Valeur par défaut
com.ibm.ws.jsp.throwExceptionForAddELResolver false
[z/OS]

com.ibm.ws.jsp.zosFileLockRetrying

Utilisez la propriété com.ibm.ws.jsp.zosFileLockRetrying pour indiquer, en secondes, la durée pendant laquelle une unité d'exécution doit essayer d'obtenir un verrou sur un fichier JSP.

Un fichier JSP est verrouillé avant le début du processus de compilation et déverrouillé une fois ce processus de compilation terminé. Si une unité d'exécution ne parvient pas à verrouiller un fichier JSP, elle continue d'essayer d'obtenir ce verrou pendant un maximum de 240 secondes. Si à l'issue de ce délai, elle n'a pas obtenu le verrou, un message d'erreur est généré. L'unité d'exécution ne fait pas de nouvelle tentative ensuite.

Chaîne Valeur par défaut
com.ibm.ws.jsp.zosFileLockRetrying 240
[z/OS]

com.ibm.ws.jsp.zosReCompile

Utilisez la propriété com.ibm.ws.jsp.zosReCompile pour indiquer le nombre de fois qu'une unité d'exécution tente de verrouiller un fichier JSP.

Quand une unité d'exécution a obtenu un verrou pour un fichier JSP, elle détermine alors si ce fichier est déjà compilé ou non. Si le fichier JSP n'est pas compilé, l'unité d'exécution tente de le compiler.

Si elle n'y parvient pas au delà du nombre de tentatives défini, un message d'erreur est généré. L'unité d'exécution ne fait pas de nouvelle tentative ensuite.

Chaîne Valeur par défaut
Valeut par défaut 5

com.ibm.ws.webcontainer.allowDotsinName

Si le nom du fichier contient plusieurs points consécutifs, la demande est rejetée par le serveur.

Lorsque la valeur true est affectée à cette propriété, le fichier demandé est servi.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.allowDotsinName false

com.ibm.ws.webcontainer.allowPrivAccessGetResource

Le chemin du fichier défini avec l'option EDR (répertoire de documents étendu) n'est pas considéré comme faisant partie des artefacts de l'application installée. L'accès au fichier nécessite donc des droits spéciaux. Une exception Java.security.AccessControlException : Access denied (java.io.FilePermission) est générée si les droits requis ne sont pas fournis pour ce fichier dans l'application Web.

Lorsque cette propriété a pour valeur true, l'application peut accéder au fichier dont le chemin est défini dans l'EDR.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.allowPrivAccessGetResource false

com.ibm.ws.webcontainer.AllowQueryParamWithNoEqual

Si le paramètre de requête d'une URL contient uniquement la chaîne "name" et non le format "name=value" attendu, le serveur renvoie une chaîne vide comme valeur pour la requête request.getParameter("name").

Lorsque cette propriété a pour valeur true, si le paramètre de requête d'une URL contient uniquement la chaîne "name", le serveur renvoie une chaîne vide comme valeur pour la requête request.getParameter("name")

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.AllowQueryParamWithNoEqual false

com.ibm.ws.webcontainer.appendMetaInfResourcesInLooseLib

Cette propriété retire le chemin supplémentaire lorsque vous déployez une application dans une configuration souple et est utilisée principalement dans les environnements de développement ou sur les serveurs.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.appendMetaInfResourcesInLooseLib false

com.ibm.ws.webcontainer.asyncmaxsizetaskpool

Cette propriété personnalisée indique la taille maximale de la file d'attente de tâches qui sert à détenir le servlet asynchrone distribué.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.asyncmaxsizetaskpool 5000

com.ibm.ws.webcontainer.asyncpurgeinterval

Cette propriété personnalisée indique la fréquence à laquelle le conteneur Web doit purger la file d'attente de tâches pour libérer la ressource des tâches annulées.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.asyncpurgeinterval 30000

com.ibm.ws.webcontainer.channelwritetype

Par défaut, le conteneur web écrit les données de réponse en mode asynchrone en les fragmentant jusqu'à ce que la taille de la mémoire tampon de réponse soit atteinte. Dans le cas de réponses excédant cette taille, le conteneur web continue de mettre en mémoire tampon les données des réponses en attendant une écriture asynchrone d'un bloc de données de réponse. Il en résulte qu'une grande quantité de la réponse est conservée en mémoire, ce qui peut provoquer une utilisation élevée de la mémoire et un risque de dépassement de mémoire. Le serveur d'applications risque également de se bloquer lorsqu'il doit traiter simultanément des demandes en nombre supérieur à celui des unités d'exécution définies pour le conteneur web.

Si la propriété com.ibm.ws.webcontainer.channelwritetype a pour valeur sync, l'écriture synchrone est utilisée par défaut. Avec l'écriture synchrone, les données de réponses sont écrites de manière synchrone dans des blocs allant jusqu'à la taille de la mémoire tampon des réponses et aucune donnée de réponse n'est mise en mémoire tampon dans l'attente de l'écriture asynchrone d'un bloc de données de réponses. Par conséquent, la quantité maximale approximative des données de réponse conservées en mémoire est égale à la valeur de la propriété responsebuffersize multipliée par le nombre d'unités d'exécution de conteneur web. Le nombre maximal des demandes pouvant être traitées simultanément par le conteneur web est limité par le nombre d'unités d'exécution du conteneur web. Les autres demandes sont mises en file d'attente, dans l'attente de la fin du traitement de la demande en cours.

La propriété personnalisée responsebuffersize du conteneur Web définit la quantité maximale de données de réponses qui sont écrites en un seul bloc par le conteneur Web (32 ko par défaut). Résultat : elle sert à modifier le nombre d'écritures dont a besoin le conteneur Web pour envoyer des données de réponses complètes. Mais, si une application vide des données de réponses, toutes les données de réponses qui sont détenues par le conteneur Web sont écrites immédiatement, quelle que soit la taille de la mémoire tampon des réponses.

Pour écrire des blocs de données à l'aide d'écritures synchrones, utilisez la paire nom-valeur suivante.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.channelwritetype async

com.ibm.ws.webcontainer.checkEDRinGetRealPath

L'API de servlet Java ServletContext.getRealPath() ne renvoie pas le chemin correct pour une ressource demandée lorsque la ressource existe dans un chemin extendedDocumentRoot et n'existe pas dans le chemin de l'application installée. Si vous souhaitez que l'API de servlet Java ServletContext.getRealPath() recherche la ressource demandée dans le chemin extendedDocumentRoot si elle est introuvable dans le chemin de l'application installée, affectez la valeur true à la propriété personnalisée com.ibm.ws.webcontainer.checkEDRinGetRealPath.

Lorsque cette propriété a la valeur true et que la ressource demandée n'est pas demandée dans le chemin extendedDocumentRoot, une valeur de type null est renvoyée.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.checkEDRinGetRealPath false

com.ibm.ws.webcontainer.copyattributeskeyset

La propriété personnalisée suivante répond aux situations dans lesquelles la méthode request.getAttributeNames renvoie une liste de valeurs. Si un servlet modifie cette liste à l'aide de la méthode request.removeAttribute, les appels qui suivent la méthode nextElement déclenchent une exception java.util.ConcurrentModificationException. Pour autoriser un servlet à modifier la liste, affectez à la propriété personnalisée com.ibm.ws.webcontainer.copyattributeskeyset la valeur "true". Si vous affectez à cette propriété personnalisée la valeur "true", une copie de la liste des attributs est renvoyée. Ceci permet au servlet de modifier la liste sans générer l'exception java.util.ConcurrentModificationException quand la méthode nextElement est appelée.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.copyattributeskeyset false

com.ibm.ws.webcontainer.decodeParamViaReqEncoding

Lorsque l'identificateur URI de la demande entrante n'est pas encodée en UTF-8, mais que la demande est encodée en UTF-8, les caractères dont la valeur encodée est différente en ISO-8859 apparaissent de manière incorrecte dans la réponse. Par exemple, si la demande est envoyée avec Microsoft Internet Explorer, les caractères sont affichés sous la forme n-tilde (Ñ). Pour vous assurer que les caractères sont codés et décodés correctement, ajoutez la propriété personnalisée de conteneur Web com.ibm.ws.webcontainer.decodeParamViaReqEncoding aux paramètres et associez-la à la valeur true.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.decodeParamViaReqEncoding false

com.ibm.ws.webcontainer.deferServingRequestsUntilEarStarted

Cette propriété personnalisée diffère les demandes de service jusqu'à ce que la totalité du fichier d'archive d'entreprise soit démarrée.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.deferServingRequestsUntilEarStarted false

com.ibm.ws.webcontainer.deferServletRequestListenerDestroyOnError

Si cette propriété personnalisée a pour valeur true, le conteneur Web active CDI pour fonctionner correctement sur les pages d'erreur personnalisées.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.deferServletRequestListenerDestroyOnError false

com.ibm.ws.webcontainer.disableSetCharacterEncodingAfterParametersRead

Le conteneur web traite une méthode setCharacterEncoding(String) de l'API ServletRequest y compris si elle est appelée après l'analyse des données POST. Selon la spécification des servlets Java, le conteneur web ignore une méthode setCharacterEncoding(String) si la méthode est appelée après l'analyse des données.

Si vous souhaitez que le conteneur Web ne tienne pas compte d'une méthode setCharacterEncoding(String) si elle est appelée après l'analyse des données, ajoutez la propriété personnalisée com.ibm.ws.webcontainer.disableSetCharacterEncodingAfterParametersRead à vos paramètres de configuration de conteneur Web et associez-la à la valeur true.

La valeur par défaut de cette propriété est false.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.disableSetCharacterEncodingAfterParametersRead false

com.ibm.ws.webcontainer.disableStaticMappingCache

La propriété personnalisée com.ibm.ws.webcontainer.disableStaticMappingCache permet à l'utilisateur de désactiver la mise en cache statique. Elle peut être définie dans la console d'administration ou via le paramètre de contexte dans le fichier web.xml.

Pour désactiver la mise en cache statique pour toutes les applications déployées, utilisez une astérisque. Pour désactiver la mise en cache statique pour une application spécifique, utilisez une virgule.

Par exemple, com.ibm.ws.webcontainer.disableStaticMappingCache=* désactive la mise en cache statique pour toutes les applications déployées. com.ibm.ws.webcontainer.disableStaticMappingCache=SpecialApp,RareApp désactive la mise en cache statique uniquement pour ces deux applications.

Vous pouvez également définir un paramètre de contexte dans le fichier web.xml pour désactiver la mise en cache statique pour l'application. Le nom de paramètre est com.ibm.ws.webcontainer.DISABLE_STATIC_MAPPING_CACHE ; définissez sa valeur à true.

Cette propriété n'a pas de valeur par défaut.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.disableStaticMappingCache aucun

com.ibm.ws.webcontainer.disableSystemAppGlobalListenerLoading

Si une application système est la première à démarrer et qu'elle tente de charger un programme d'écoute global présent dans une bibliothèque partagée associée au chargeur de classes du serveur, l'application ne charge pas ce programme d'écoute et elle l'empêche d'être chargé ou appelé par les applications non système qui s'exécutent à sa suite. Associez la propriété personnalisée com.ibm.ws.webcontainer.disableSystemAppGlobalListenerLoading à la valeur true pour éviter que les applications système ne chargent des programmes d'écoute globaux. Lorsque cette propriété a pour valeur true, l'application système ne tente pas de charger les programmes d'écoute globaux, ce qui permet aux autres applications non système de charger ces programmes à partir de la bibliothèque partagée qui est associée à un chargeur de classes du serveur.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.disableSystemAppGlobalListenerLoading false

com.ibm.ws.webcontainer.disablexPoweredBy

Lorsque vous configurez la sécurité du serveur, vous pouvez désactiver l'en-tête X-Powered-By si vous ne voulez pas révéler quel serveur vous exécutez. Utilisez cette propriété personnalisée pour désactiver l'en-tête X-Powered-By. Celui-ci ne sera alors pas envoyé dans la réponse HTTP. La valeur par défaut est false. Attribuez la valeur true si vous voulez désactiver cet en-tête.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.disablexPoweredBy false

com.ibm.ws.webcontainer.disallowAllFileServing

Utilisez la propriété personnalisée com.ibm.ws.webcontainer.disallowAllFileServing pour désactiver la gestion de fichiers de toutes les applications d'un serveur d'applications particulier.

La propriété personnalisée fileServingEnabled vous permet d'activer globalement le service de fichiers sur un serveur d'applications particulier. Malheureusement, cette propriété est remplacée par les informations de déploiement spécifiques de chacune des applications. En conséquence, la propriété personnalisée fileServingEnabled s'applique uniquement en tant que sauvegarde si une application ne définit pas elle-même le paramètre fileServingEnabled.

Pour remplacer ce paramètre globalement sur un serveur d'applications donné en vue de l'empêcher de transmettre des fichiers statiques quels que soient leurs paramètres de déploiement particuliers, associez la propriété personnalisée de conteneur Web com.ibm.ws.webcontainer.disallowAllFileServing à la valeur true à l'aide de la paire nom-valeur ci-dessous.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.disallowAllFileServing false

com.ibm.ws.webcontainer.disallowServeServletsByClassname

L'activation de la propriété ServeServletsByClassnameEnabled permet d'accéder directement aux servlets, d'où un risque pour la sécurité. Définissez la propriété personnalisée suivante pour interdire l'utilisation de la propriété ServeServletsByClassnameEnabled au niveau de l'ensemble du serveur d'applications.

Chaîne Valeur par défaut Valeur valide
com.ibm.ws.webcontainer.disallowserveservletsbyclassname true false
Remarque : La valeur par défaut est true pour IBM® WebSphere Application Server version 8.5.5.6. Les versions antérieures ont pour valeur par défaut false sauf si un correctif temporaire pour PI31622 a été installé.

com.ibm.ws.webcontainer.discernUnavailableServlet

Habituellement, quand le conteneur Web reçoit une exception UnavailableException, il ne peut pas déterminer si elle a été émise par un servlet ou par une ressource distribuée. Le conteneur Web marque alors de manière automatique le servlet comme indisponible, même si en réalité c'est une ressource distribuée qui est indisponible.

Si vous utilisez la version 7.0.0.5 ou une version ultérieure, et que vous avez associé la propriété personnalisée com.ibm.ws.webcontainer.discernUnavailableServlet à la valeur true, toute exception UnavailableException qui est émise par une ressource distribuée est placée dans un encapsuleur. Cet encapsuleur permet au conteneur Web de déterminer si l'exception a été générée par le servlet ou par une ressource distribuée. Si cette exception ne provient pas du servlet, le conteneur Web ne marque pas ce dernier comme indisponible.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.discernUnavailableServlet false

com.ibm.ws.webcontainer.dispatcherRethrowSER

RequestDispatcher propage à nouveau les exceptions des servlets répartis vers les servlets de répartition. Il s'agit d'un changement de comportement par rapport aux éditions précédentes. Si vous ne voulez pas que l'application renvoie les exceptions au servlet qui exécute la répartition, ajoutez la propriété personnalisée com.ibm.ws.webcontainer.dispatcherRethrowSER aux paramètres du conteneur Web et paramétrez-la sur false.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.dispatcherRethrowSER true
Configurations prises en charge Configurations prises en charge: La propriété personnalisée com.ibm.ws.webcontainer.dispatcherRethrowSError remplace la propriété personnalisée com.ibm.ws.webcontainer.dispatcherRethrowSER. Lorsque vous activez la propriété personnalisée com.ibm.ws.webcontainer.dispatcherRethrowSError en lui affectant la valeur true, la propriété personnalisée com.ibm.ws.webcontainer.dispatcherRethrowSER est également associée à la valeur true.sptcfg

com.ibm.ws.webcontainer.dispatcherRethrowSError

Lorsqu'un fichier JavaServer Page (JSP) contient une erreur de compilation, l'erreur d'exécution est interceptée et traitée directement par le conteneur. Les exceptions ne sont pas propagées et résolues par la ressource JSP distribuée. Avec la propriété personnalisée com.ibm.ws.webcontainer.dispatcherRethrowSError, les exceptions sont à nouveau propagées vers la ressource JSP distribuée.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.dispatcherRethrowSError false
Configurations prises en charge Configurations prises en charge: La propriété personnalisée com.ibm.ws.webcontainer.dispatcherRethrowSError remplace la propriété personnalisée com.ibm.ws.webcontainer.dispatcherRethrowSER. Lorsque vous activez la propriété personnalisée com.ibm.ws.webcontainer.dispatcherRethrowSError en lui affectant la valeur true, la propriété personnalisée com.ibm.ws.webcontainer.dispatcherRethrowSER est également associée à la valeur true.sptcfg
[z/OS]

com.ibm.ws.webcontainer.divertrecursiveexceptiontoerrorlog

Lorsqu'une erreur récursive se produit dans une application, le message de l'exception est consigné par la méthode d'audit de trace, qui envoie le message à la console système. Si vous devez consigner le message dans le journal des erreurs, ajoutez la propriété personnalisée com.ibm.ws.webcontainer.divertrecursiveexceptiontoerrorlog aux paramètres de configuration du conteneur web et associez-la à la valeur true. Lorsque la propriété com.ibm.ws.webcontainer.divertrecursiveexceptiontoerrorlog a pour valeur true, les messages d'exception sont envoyés au journal des erreurs plutôt que vers la console système.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.divertrecursiveexceptiontoerrorlog false

com.ibm.ws.webcontainer.donotservebyclassname

Le propriété personnalisée com.ibm.ws.webcontainer.donotservebyclassname indique une liste de classes qui ne peuvent pas être transmises par nom de classe.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.donotservebyclassname aucun

com.ibm.ws.webcontainer.emptyServletMappings

Si cette propriété a pour valeur true, la propriété personnalisée com.ibm.ws.webcontainer.emptyServletMappings renvoie une collection vide lorsque les mappages de servlet sont demandés par la méthode getMappings() et qu'aucun mappage n'a été ajouté.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.emptyServletMappings false

com.ibm.ws.webcontainer.enabledefaultservletrequestpathelements

Pour mapper une requête à un servlet par défaut, vous devez déterminer les valeurs de PathInfo et le chemin de servlet appropriés. Le tableau qui suit illustre les effets des valeurs de chemin de servlet et de PathInfo lorsque vous affectez à la propriété personnalisée com.ibm.ws.webcontainer.enabledefaultservletrequestpathelements la valeur "true" ou "false".
Tableau 1. Valeur de Servlet Path et PathInfo. Valeurs pour le chemin de servlet et pour PathInfo
valeur Valeur de Servlet Path Valeur de PathInfo
true Contenu de l'URI placé après le chemin de contexte Valeur nulle
false (valeur par défaut) Chaîne vide Valeur définie sur la base du contenu de l'URI placé après le chemin de contexte

com.ibm.ws.webcontainer.enableErrorExceptionTypeFirst

Lorsqu'une exception est émise, le conteneur Web recherche une page d'erreur pour gérer cette exception. L'ordre de recherche par défaut est le suivant :
  1. Toute page de codes d'erreur correspondante
  2. Toute page d'erreur de type d'exception correspondante

La page de code d'erreur correspondante est toujours renvoyée même si une page d'erreur de type d'exception correspondante est également définie dans le fichier web.xml. Pour que le conteneur Web recherche et utilise le type d'exception avant le code d'erreur, attribuez la valeur true à cette propriété.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.enableErrorExceptionTypeFirst false

com.ibm.ws.webcontainer.enableExactMatchJSecurityCheck

Indiquez cette propriété si vous souhaitez que le mot clé j_security_check soit utilisé comme partie du nom d'une ressource. Généralement, si un URI contient le mot clé j_security_check, le processus de connexion est lancé.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.enableExactMatchJSecurityCheck false

com.ibm.ws.webcontainer.enableJspMappingOverride

Lorsqu'un modèle d'URL est défini dans le groupe de propriétés JSP du fichier web.xml, il est généralement mappé vers et géré par le moteur JavaServer Page (JSP). Si vous possédez des applications qui ont besoin de substituer ce mappage afin de pouvoir gérer et servir elle-mêmes le contenu JSP, associez la propriété com.ibm.ws.webcontainer.enableJspMappingOverride à la valeur true.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.enableJspMappingOverride false

com.ibm.ws.webcontainer.enableMultiReadOfPostData

Associez la propriété personnalisée com.ibm.ws.webcontainer.enableMultiReadOfPostData à la valeur true si vous souhaitez activer plusieurs lectures de données POST. Lorsque cette propriété est paramétrée sur true, les données POST peuvent être lues plusieurs fois, en tant qu'InputStream ou Reader et en tant que paramètres.

Lorsque le conteneur Web est activé pour les lectures multiples de données POST, vous pouvez configurer une application pour effectuer les actions suivantes si vous souhaitez que cette application relise les données POST depuis le début à l'aide d'InputStream ou Reader :
  1. Obtenez le flot d'entrée ou le programme de lecture
  2. Lisez les données
  3. Fermez le flot d'entrée ou le programme de lecture

Si la première ou la troisième action ne se produit pas, la lecture suivante des données POST n'est pas réinitialisée au début de ces données.

Le conteneur Web termine automatiquement cette séquence si une application relit les données POST en tant que paramètres.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.enableMultiReadOfPostData false

com.ibm.ws.webcontainer.excludehandledtypesclasses

Utilisez la propriété personnalisée com.ibm.ws.webcontainer.excludehandledtypesclasses pour empêcher le transfert des classes de type de descripteur vers la méthode onStartup de la classe d'implémentation ServletContainerInitializer.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.excludehandledtypesclasses false

com.ibm.ws.webcontainer.extractHostHeaderPort et trusthostheaderport

La méthode getServerPort s'appuie sur la méthode getVirtualPort du canal, laquelle méthode retourne les numéros de ports dans l'ordre suivant :
  1. Le numéro du port de l'URL de la demande.
  2. Le numéro du port de l'en-tête de l'hôte de la demande.
Cet ordre est conforme à la RFC HTTP/1.1 RFC, mais pas avec l'API Java Servlet Specification Version 2.4 API, qui requiert que soit retourné en premier le numéro de port de l'en-tête de la demande ou, le cas échéant, de l'URL de la demande. Dans notre exemple, l'URL retourné doit être : http://ProxyServer:8888. Le conteneur web a été modifié et il retourne à présent le numéro de port contenu dans l'en-tête de l'hôte ou, le cas échéant, le port de l'URL qui a accepté la connexion du client. Vous devez associer la valeur true aux propriétés personnalisées trusthostheaderport et com.ibm.ws.webcontainer.extractHostHeaderPort pour que soit retourné en premier le numéro de port à partir de l'en-tête de l'hôte de la demande. Dans la console d'administration, vous pouvez définir ces propriétés comme suit :
trusthostheaderport = true     
com.ibm.ws.webcontainer.extractHostHeaderPort = true
Eviter les incidents Eviter les incidents: Vous NE POUVEZ PAS définir ces propriétés dans le fichier web.xml pour qu'elles prennent effet comme prévu.gotcha
Vous pouvez définir ces propriétés en tant que propriétés personnalisées de conteneur Web dans la console d'administration en utilisant les deux ensembles de paires nom-valeur suivants :
Chaîne Valeur par défaut
com.ibm.ws.webcontainer.extractHostHeaderPort false
trusthostheaderport false
[z/OS]

com.ibm.ws.webcontainer.fileWrapperEvents

Les fichiers statiques sont gérés par un encapsuleur de fichier qui ne génère pas de données SMF et PMI pour les fichiers statiques. Dans la version 5.1, le traitement des fichiers statiques était effectué par SimpleFileServlet qui a généré des données SMF et PMI. Si vous effectuez une migration à partir de la version 5.1 et que vous devez générer des données SMF et PMI pour la prise en charge de fichiers statiques, ajoutez la propriété personnalisée com.ibm.ws.webcontainer.fileWrapperEvents aux paramètres de configuration du conteneur Web et affectez à la propriété la valeur true.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.fileWrapperEvents false
[z/OS]

com.ibm.ws.webcontainer.FileWrapperEventsLessDetail

L'enregistrement SMF de type 120 affiche le nom de la ressource statique à la place de FileServletWrapper dans la même zone d'un rapport de fichier statique. Si vous avez effectué une migration à partir d'une version antérieure du produit et que vous souhaitez que votre enregistrement SMF de type 120 affiche FileServletWrapper dans la zone de nom d'un rapport de fichier statique, ajoutez la propriété personnalisée com.ibm.ws.webcontainer.FileWrapperEventsLessDetail aux paramètres de votre conteneur Web et associez-la à la valeur true.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.FileWrapperEventsLessDetail false

com.ibm.ws.webcontainer.finishresponseonclose

Utilisez la propriété personnalisée com.ibm.ws.webcontainer.finishresponseonclose pour indiquer que vous souhaitez que le conteneur web ferme une connexion lorsqu'un servlet appelle close() sur un flux de sortie ou un programme d'écriture.

Généralement, lorsqu'un servlet appelle close() sur un flux de sortie ou du programme d'écriture, le conteneur Web envoie les données qui ont été écrites sur le flux de sortie ou du programme d'écriture vers le client, puis attend que la méthode service() du servlet se termine avant de fermer la connexion. Ce retard peut être interprété comme un retard d'exécution de la réponse, en particulier si une méthode servlet service() n'est pas exécutée au bout d'un certain temps après que le programme d'écriture ou le flot de sortie n'ait été fermé.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.finishresponseonclose false

com.ibm.ws.webcontainer.ForceDifferentCookiePaths

Lorsque vous configurez une application afin qu'elle utilise un cookie pour suivre la session, le chemin d'accès par défaut du cookie est la racine de contexte de l'application. Par conséquent, le cookie est uniquement envoyé aux demandes qui sont effectuées vers cette application. Pour remplacer le chemin d'accès par défaut par "/" (barre oblique) de sorte que le cookie soit envoyé à des requêtes pour toutes les applications du domaine, paramétrez la propriété personnalisée du gestionnaire de session ForceDifferentCookiePaths.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.ForceDifferentCookiePaths false

com.ibm.ws.webcontainer.handlingRequestWithOverridenPath

Lorsqu'une application remplace les informations de chemin d'URI, le serveur n'utilise pas le chemin remplacé pour traiter la demande, mais utilise les informations de chemin d'URI de la demande d'origine. Si vous voulez que le serveur utilise le chemin d'URI remplacé, associez la propriété com.ibm.ws.webcontainer.handlingRequestWithOverridenPath à la valeur true. Normalement, lorsqu'une application remplace le chemin d'URI de demande, ce chemin d'URI est utilisé par l'application, et non par le serveur.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.handlingRequestWithOverridenPath false

com.ibm.ws.webcontainer.HTTPOnlyCookies

La propriété personnalisée com.ibm.ws.webcontainer.HTTPOnlyCookies offre un niveau de protection contre un script côté client qui accède à un cookie protégé et permettant d'obtenir son contenu. Lorsque vous utilisez cette propriété personnalisée, vous pouvez empêcher les scripts Java qui s'exécutent dans un navigateur d'accéder à tous les cookies ou à une liste spécifique de cookies de votre choix. L'attribut HTTPOnly est ajouté à chaque cookie spécifié dans cette propriété personnalisée et assure la protection contre l'accès par des scripts côté client.
Eviter les incidents Eviter les incidents: Si vous ne spécifiez pas d'opérande pour la propriété com.ibm.ws.webcontainer.HTTPOnlyCookies, l'attribut HTTPOnly n'est PAS ajouté aux cookies et tous les scripts Java côté client qui s'exécutent dans un navigateur peuvent accéder au contenu de tous les cookies.gotcha
Vous pouvez spécifier les valeurs suivantes pour cette propriété :
  • * - Un astérisque indique que tous les cookies possèdent l'attribut HTTPOnly.
  • Liste délimitée par des virgules des cookies spécifiques possédant l'attribut HTTPOnly. Les cookies peuvent contenir des caractères génériques. L'attribut HTTPOnly est affecté uniquement aux cookies figurant dans cette liste.
Les exemples suivants présentent le mode de définition de ces deux paramètres :
com.ibm.ws.webcontainer.HTTPOnlyCookies=*
com.ibm.ws.webcontainer.HTTPOnlyCookies=cookieName1,Account3Cookie,JsessionID 
Avertissement : Les noms de cookies utilisés lors de la définition de com.ibm.ws.webcontainer.HTTPOnlyCookies sont insensibles à la casse.
Important : L'attribut HTTPOnly pour les cookies JSESSIONID et LTPA est activé par défaut. Avant WebSphere Application Server version 8.0, la valeur par défaut de la propriété personnalisée com.ibm.ws.security.addHttpOnlyAttributeToCookies était false. Dans WebSphere Application Server version 8.5, la valeur par défaut est true.
Pour les utilisateurs en transition Pour les utilisateurs en transition: L'attribut HTTPOnly pour les cookies JSESSIONID et LTPA est activé par défaut. Avant WebSphere Application Server version 8.0, la valeur par défaut de la propriété personnalisée com.ibm.ws.security.addHttpOnlyAttributeToCookies était false. Désormais, la valeur par défaut est true.

Etant donné que l'attribut HTTPOnly est désormais défini avec la zone Associer les cookies de session à la valeur HTTPOnly pour éviter les attaques de script CSS de la console d'administration, si vous devez désactiver cette fonction, dans la console d'administration, cliquez sur Types de serveurs > Serveurs d'applications > Gestion de session > Cookies et désélectionnez la zone Associer les cookies de session à la valeur HTTPOnly pour éviter les attaques de script CSS.

trns

Pour plus d'informations sur l'interaction des propriétés personnalisées, voir Paramètres de cookie et Remarques sur l'activation et la migration des fonctions de renforcement de la sécurité.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.HTTPOnlyCookies aucun

com.ibm.ws.webcontainer.ignoreinjectionfailure

Si l'injection d'une ressource ou de beans EJB (Enterprise JavaBeans) échoue pendant le processus d'initialisation du servlet, un message d'erreur est écrit dans les fichiers journaux du serveur. Toutefois, ce message d'erreur n'est pas propagé au client. En outre, le servlet est mis en fonction et il n'est pas réinitialisé tant que l'application n'est pas redémarrée. Pendant ce temps, si une requête est reçue et qu'elle fait référence à la ressource qui n'a pas été injectée précédemment, l'exception NullPointerException est renvoyée. De même, ce problème peut survenir pendant les processus d'initialisation du filtre et du programme d'écoute.

La propriété personnalisée com.ibm.ws.webcontainer.ignoreinjectionfailure vous permet d'indiquer s'il convient de propager ces messages d'erreur et de mettre un servlet en fonction. Par défaut, la propriété personnalisée est false. Ainsi, le comportement décrit précédemment est conservé. Pour permettre la propagation de ces exceptions d'injection au client et ne pas mettre le servlet en service, vous devez conserver la valeur false pour cette propriété personnalisée.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.ignoreinjectionfailure false

com.ibm.ws.webcontainer.ignoreInvalidQueryString

Quand le conteneur Web rencontre un caractère de codage dans une paire non valide d'une chaîne de requête, il génère une exception IllegalArgumentException et, par défaut, il ignore toute la chaîne de requête. Dans les applications dont chaque champ d'une chaîne de requête constitue une ressource essentielle, il n'est pas souhaitable d'ignorer toute la chaîne de requête. Si vous affectez à la propriété personnalisée com.ibm.ws.webcontainer.ignoreInvalidQueryString la valeur true, le conteneur Web ignore les paires non valides de la chaîne de requête et continue de traiter les paires valides.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.ignoreInvalidQueryString false

com.ibm.ws.webcontainer.ignorePostConstructOverriddenMethod

Si la méthode @PostConstruct annotée d'une classe parent est remplacée par une sous-classe, lorsque la méthode annotée de la sous-classe cible est appelée, le conteneur Web appelle la sous-classe cible deux fois. Si vous associez la propriété personnalisée com.ibm.ws.webcontainer.ignorePostConstructOverriddenMethod à la valeur true, le conteneur Web n'appelle la méthode de la sous-classe cible qu'une fois et les méthodes remplacées du parent sont ignorées.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.ignorePostConstructOverriddenMethod false

com.ibm.ws.webcontainer.ignoreSemiColonOnRedirectToWelcomePage

Lorsque cette propriété est définie sur true, le conteneur Web ignore le point-virgule et tout élément qui suit lors du réacheminement vers la page d'accueil.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.ignoreSemiColonOnRedirectToWelcomePage false

com.ibm.ws.webcontainer.IgnoreSessiononStaticFileRequest

Le conteneur Web accède à une session pour les requêtes de fichiers statiques impliquant des filtres. Cette action peut entraîner une baisse des performances, par exemple, lors d'une exécution avec la persistance de session de base de données. Si vous associez la propriété personnalisée com.ibm.ws.webcontainer.IgnoreSessiononStaticFileRequest à la valeur true, le conteneur Web ne peut pas accéder à une session pour les demandes de fichier statique impliquant des filtres.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.IgnoreSessiononStaticFileRequest false

com.ibm.ws.webcontainer.initFilterBeforeInitServlet

Affectez à la propriété personnalisée com.ibm.ws.webcontainer.initFilterBeforeInitServlet la valeur true pour initialiser les filtres avant les servlets devant être chargés au démarrage pendant le processus de démarrage d'une application.

Eviter les incidents Eviter les incidents: Les propriétés com.ibm.ws.webcontainer.invokeFilterInitAtStartup et com.ibm.ws.webcontainer.initFilterBeforeInitServlet doivent être associées à la valeur true pour que les filtres soient initialisés en premier au démarrage de l'application.gotcha
Chaîne Valeur par défaut
com.ibm.ws.webcontainer.initFilterBeforeInitServlet false

com.ibm.ws.webcontainer.invokeFilterAfterService

La propriété personnalisée com.ibm.ws.webcontainer.invokeFilterAfterService garantit que le conteneur Web n'appelle pas la méthode flush() défaillante lorsque le flux de sortie est fermé.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.invokeFilterAfterService true

com.ibm.ws.webcontainer.invokeFilterInitAtStartup

La propriété personnalisée com.ibm.ws.webcontainer.invokeFilterInitAtStartup permet au conteneur Web d'appeler la méthode init et d'initialiser un filtre au cours du processus de démarrage d'une application.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.invokeFilterInitAtStartup false

com.ibm.ws.webcontainer.KeepUnreadPostDataAfterResponseSentToClient

Cette propriété indique si les données POST sont disponibles pour lecture une fois que la réponse du client est terminée, à la fin d'une demande de réacheminement ou après sendRedirect. Si cette propriété a pour valeur true, les données publiées peuvent être lues une fois la réponse du client terminée, que ce soit après l'exécution d'une demande de réacheminement (comportement par défaut) ou lors d'un retour d'une opération sendRedirect (comportement lorsque la propriété personnalisée com.ibm.ws.webcontainer.SendResponseToClientAsPartOfSendRedirect a pour valeur true). Toutefois, la définition de cette propriété sur true nécessite que les données POST non lues soient conservées en mémoire jusqu'à ce que la ressource cible se termine, et augmente l'utilisation de la mémoire.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.KeepUnreadPostDataAfterResponseSentToClient false

com.ibm.ws.webcontainer.logServletContainerInitializerClassloadingErrors

Lors de l'examen des classes d'une application pour savoir si elles correspondent à des critères spécifiés par l'annotation HandlesTypes d'un processus ServletContainerInitializer, le conteneur peut rencontrer des problèmes de chargement de classes si un ou plusieurs fichiers JAR d'application facultatifs sont absents. Etant donné que le conteneur ne décide pas si ces types d'échec de chargement de classes empêchent le fonctionnement correct de l'application, il ignore les échecs et fournit une option de configuration qui permet de les consigner.

Le fait d'attribuer la valeur true à cette propriété active la consignation.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.logServletContainerInitializerClassloadingErrors false

com.ibm.ws.webcontainer.mapFiltersToAsterisk

Lorsqu'il traite une demande, le conteneur Web reconnaît les mappages de servlets à des caractères "*" comme identiques aux mappages à des caractères "/*". Pour obtenir le même comportement avec des mappages de filtres, associez la valeur true à la propriété personnalisée com.ibm.ws.webcontainer.mapFiltersToAsterisk. Ainsi, le conteneur Web saura reconnaître les mappages de filtre vers "*" comme des mappages de filtre vers "/*". Cette propriété personnalisée est insensible à la casse des caractères.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.mapFiltersToAsterisk false

com.ibm.ws.webcontainer.maxParamPerRequest

Cette propriété permet de modifier le nombre maximal de paramètres qui sont admis dans vos demandes entrantes, en fonction de vos applications et de votre environnement. Le nombre maximal de paramètres admis par demande entrante (GET ou POST) a pour valeur par défaut 10000.

Vous pouvez affecter à cette propriété la valeur -1 si vous ne souhaitez pas limiter le nombre de paramètres pouvant être inclus dans une demande.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.maxParamPerRequest 10000

com.ibm.ws.webcontainer.metainfresourcescachesize

Cette propriété permet de modifier le nombre d'entrées dans le cache de ressources META-INF. Cette propriété a la valeur par défaut 20.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.metainfresourcescachesize 20

com.ibm.ws.webcontainer.modifiedFileNotFoundExceptionBehavior

Lorsqu'un fichier qui n'existe pas est la cible d'une opération d'inclusion ou de transmission d'un expéditeur de demande, une exception FileNotFoundException est générée. Pour activer le comportement de cette exception de fichier introuvable, affectez à cette propriété personnalisée la valeur true et autorisez l'émission de l'exception lorsqu'un fichier n'existe pas. Si vous définissez cette propriété sur false, l'exception FileNotFoundException est supprimée ainsi que toutes les informations consignées sur l'erreur. De même, si une telle demande donne lieu à une exception 404, les fichiers FFDC ne sont plus créés.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.modifiedFileNotfFoundExceptionBehavior true

com.ibm.ws.webcontainer.ModifiedSinceLaterThanFileTimeStamp

Lorsque cette propriété a la valeur true, le conteneur Web renvoie une réponse 304 si l'horodatage If-Modified-Since de la variante demandée est ultérieure à l'horodatage de la variante cible.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.ModifiedSinceLaterThanFileTimeStamp false

com.ibm.ws.webcontainer.normalizerequesturi

Habituellement, les URI de requête n'induisent pas d'erreurs 404 si ces URI sont soumis à partir d'un navigateur car la plupart des navigateurs modernes standardisent automatiquement les URI de requête avant d'appeler WebSphere Application Server. Il en découle que, par défaut, le conteneur Web ne standardise pas un URI de requête avant de le traduire par un mappage à une application et un servlet.

Si un URI de requête comprend /./ ou /../ dans son contexte d'application et qu'il n'est pas standardisé, il peut échouer avec une erreur 404. De même, si un URI de requête comprend /./ ou /../ dans son chemin de servlet et qu'il n'est pas standardisé, la correspondance avec un mappage de servlet échoue également avec une erreur 404. Elle échoue aussi même si l'URI est standardisé avant sa traduction en fichier statique ou en fichier JSP (JavaServer Pages).

Vous pouvez affecter la valeur true à la propriété personnalisée com.ibm.ws.webcontainer.normalizerequesturi et le conteneur Web normalise ces types d'URI de requête.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.normalizerequesturi false

com.ibm.ws.webcontainer.parseUTF8PostData

Si le conteneur Web tente de traiter une demande incluant des données POST UTF-8 qui ne disposent pas d'une URL codée, la ressource cible accède aux données POST en tant que paramètres. Toutefois, les données UTF-8 ne sont pas décodées correctement et les données de résultat risquent d'être perdues.

Pour résoudre ce problème, affectez la valeur true à la propriété personnalisée com.ibm.ws.webcontainer.parseUTF8PostData. Lorsque le conteneur Web traite des paramètres, il détecte les données POST UTF-8 qui ne disposent pas d'une URL codée et inclut les données dans les valeurs de paramètre.

Pour utiliser cette fonction, vous devez sélectionner true pour cette valeur.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.parseUTF8PostData false

com.ibm.ws.webcontainer.preserveRequestParameterValues

Utilisez cette propriété personnalisée pour préserver les valeurs d'origine des paramètres utilisés sur la demande.

La méthode javax.servlet.ServletRequest.getParameterValues() renvoie un tableau de chaînes des valeurs de paramètres de demande. Si ce tableau de chaînes est modifié directement, les valeurs de paramètre de demande d'origine seront peut-être perdues. Tout appel ultérieur passé vers la méthode javax.servlet.ServletRequest.getParameterValues() renvoie les valeurs modifiées.

Pour utiliser cette fonction, vous devez définir la valeur true.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.preserveRequestParameterValues false

com.ibm.ws.webcontainer.provideQStringToWelcomeFile

Généralement, lorsqu'une requête est initialement envoyée à la racine de contexte de l'application, la requête est transférée au fichier d'accueil. Si une chaîne de requête est incluse dans une requête initiale, elle n'est pas disponible pour le fichier de bienvenue si vous avez ajouté l'attribut request.getQueryString() au fichier de bienvenue. En revanche, la chaîne de requête est disponible pour le fichier d'accueil si vous avez inclus l'attribut javax.servlet.forward.query_string dans le fichier d'accueil.

Si vous devez utiliser l'attribut request.getQueryString() à la place de l'attribut javax.servlet.forward.query_string, pour mettre la chaîne de requête à disposition du fichier d'accueil, ajoutez la propriété personnalisée com.ibm.ws.webcontainer.provideQStringToWelcomeFile à la configuration de votre conteneur Web et associez-la à la valeur true.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.provideQStringToWelcomeFile false

com.ibm.ws.webcontainer.RedirectWithPathInfo

Lorsque l'emplacement de redirection fourni est une adresse URL relative qui ne commence pas par une barre oblique ("/"), au cours de la conversion de la valeur d'URI relatif en adresse URL absolue, le serveur retire les informations de chemin (pathInfo) de l'URI existant. Pour garantir que les informations de chemin pathInfo sont conservées et ne sont pas retirées, affectez la valeur true à com.ibm.ws.webcontainer.RedirectWithPathInfo.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.RedirectWithPathInfo false

com.ibm.ws.webcontainer.removeAttributeForNullObject

Par défaut, la méthode getAttributeNames() peut renvoyer un nom d'attribut dont la valeur est définie sur null si la valeur transmise aux méthodes ServletRequest.setAttribute() ou ServleContextt.setAttribute() est null. Ce comportement par défaut n'est pas conforme à l'API.

Si vous voulez que le conteneur Web supprime l'attribut lorsque l'objet NULL est transmis à la méthode ServletRequest.setAttribute() ou ServleContextt.setAttribute(), ajoutez cette propriété personnalisée com.ibm.ws.webcontainer.removeAttributeForNullObject à votre configuration de conteneur Web et affectez la valeur true à la propriété.

Type de données Valeut par défaut
Booléenne false

com.ibm.ws.webcontainer.returnDefaultContextPath

Utilisez la propriété personnalisée com.ibm.ws.webcontainer.returnDefaultContextPath afin de renvoyer le chemin de contexte correct lorsqu'une application est installée dans la racine de contexte par défaut. Par exemple, lorsque la propriété a pour valeur true, le chemin de contexte est paramétré sur une chaîne vide pour toutes les applications installées sur la racine de contexte par défaut.

Type de données Valeut par défaut
Booléenne False

com.ibm.ws.webcontainer.searchMetaInfResourcesDuringAppStart

Utilisez la propriété personnalisée com.ibm.ws.webcontainer.searchMetaInfResourcesDuringAppStart pour désactiver la fonction améliorée pour la recherche de /META-INF/resources.

Type de données Valeut par défaut
Booléenne True

com.ibm.ws.webcontainer.SendResponseToClientAsPartOfSendRedirect

Cette propriété indique si une réponse est émise dans le cadre d'une demande sendRedirect. Si la valeur true est affectée à cette propriété, une réponse est émise dans le cadre d'une demande sendRedirect et les données POST associées à la demande ne sont pas disponibles pour lecture après sendRedirect.

La valeur par défaut est false.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.SendResponseToClientAsPartOfSendRedirect false

com.ibm.ws.webcontainer.SendResponseToClientWhenResponseIsComplete

Cette propriété indique si une réponse est émise à la suite d'une demande de réacheminement.

Si cette propriété a la valeur false, aucune réponse n'est émise à la suite d'une demande de réacheminement. En revanche, elle est différée jusqu'à ce que la ressource cible se termine. Les données POST sont disponibles pour lecture à la fin du réacheminement.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.SendResponseToClientAsPartOfSendRedirect true

com.ibm.ws.webcontainer.setAsyncDispatchRequestURI

Si cette propriété a pour valeur true, le conteneur Web définit l'URI de demande en cours comme cible de l'envoi asynchrone.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.setAsyncDispatchRequestURI false

com.ibm.ws.webcontainer.setcontenttypebysetheader

Lorsqu'autoResponseEncoding est activé ou lorsque la propriété com.ibm.ws.webcontainer.contentTypeCompatibility est définie, le serveur d'applications définit le type de contenu de la réponse à l'aide d'une méthode interne. Pour activer la définition du type de contenu à l'aide de la méthode ServletResponse.setContentType, vous devez attribuer la valeur false à la propriété personalisée com.ibm.ws.webcontainer.setcontenttypebysetheader.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.setcontenttypebysetheader true

com.ibm.ws.webcontainer.ServeWelcomeFileFromExtendedDocumentRoot

Généralement, la première fois que le conteneur Web gère une requête pour une page de bienvenue statique qui n'est pas un fichier JSP (JavaServer Page), il ne recherche pas le fichier de bienvenue dans ExtendedDocumentRoot sauf si la requête pour ce fichier de bienvenue est intégralement qualifiée. Si tel est le cas, le conteneur Web fournit le fichier de bienvenue et la racine de contexte de l'application affiche ce fichier. Si la demande de fichier de bienvenue statique n'est pas intégralement qualifiée, le conteneur Web renvoie l'erreur 404 qui indique que le conteneur Web n'a pas trouvé le fichier de bienvenue.

Lorsque l'envoi par le conteneur Web d'un fichier de bienvenue aboutit, le conteneur crée un mappage pour ce fichier. Le conteneur Web utilise ensuite ce mappage pour gérer les requêtes suivantes de fichier de bienvenue, en éliminant de ce fait la nécessité de qualifier intégralement les requêtes suivantes.

Si vous ne voulez pas que le conteneur Web recherche systématiquement un fichier d'accueil dans un répertoire de documents étendu défini par l'application, même si la demande n'est pas qualifiée complètement, vous pouvez ajouter la propriété personnalisée com.ibm.ws.webcontainer.ServeWelcomeFileFromExtendedDocumentRoot à vos paramètres de conteneur Web et l'associer à la valeur true.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.ServeWelcomeFileFromExtendedDocumentRoot false

com.ibm.ws.webcontainer.ServletDestroyWaitTime

Par défaut, lorsqu'une application est arrêtée, le conteneur Web attend jusqu'à 60 secondes la fin de chacune des demandes actives pour une ressource de cette application. Désormais, vous pouvez définir la propriété personnalisée com.ibm.ws.webcontainer.ServletDestroyWaitTime du conteneur Web afin de contrôler la durée pendant laquelle le conteneur Web attend la fin d'une demande active lors de l'arrêt de l'application propriétaire de cette demande.

Attribuez à la propriété personnalisée com.ibm.ws.webcontainer.ServletDestroyWaitTime la valeur d'un entier qui spécifie le nombre de secondes à attendre. La valeur par défaut est de 60 secondes.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.ServletDestroyWaitTime 60

com.ibm.ws.webcontainer.setUnencodedHTMLinsendError

Généralement, le conteneur Web code les messages d'erreur spécifiés avant de les formater afin d'éviter les attaques de script intersite sur le client si l'application ne supprime pas ces messages. Toutefois, dans la spécification Java Servlet, il est stipulé que la méthode sendError(int, String) indique que le serveur doit créer la réponse semblable à une page d'erreur de serveur au format HTML.

Si vous ne voulez pas que le conteneur Web code les messages d'erreur spécifiés avant de les formater, ajoutez la propriété personnalisée com.ibm.ws.webcontainer.setUnencodedHTMLinsendError à vos paramètres de configuration de conteneur Web et associez-la à la valeur true.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.setUnencodedHTMLinsendError false

com.ibm.ws.webcontainer.skipInputStreamReadOnError

Si cette propriété a pour valeur true, le conteneur Web cesse de lire les données POST restantes si une exception s'est produite avant ou pendant l'analyse syntaxique des données POST.

La propriété personnalisée com.ibm.ws.webcontainer.skipInputStreamReadOnError doit être utilisée conjointement avec la propriété personnalisée de canal preventRequestBodyPurge à laquelle la valeur true est affectée.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.skipInputStreamReadOnError false

com.ibm.ws.webcontainer.SkipMetaInfResourcesProcessing

Le conteneur Web recherche les fichiers statiques et les fichiers JavaServer Pages (JSP) dans des emplacements différents, en fonction de la configuration de l'application. Un fragment Web contient un fichier JAR dans un répertoire WEB-INF/lib de l'application. Le fichier JAR peut inclure des ressources statiques dans un répertoire META-INF/resources, qui sont définies dans le fichier JAR. Pour empêcher le conteneur Web d'effectuer la recherche dans les répertoires META-INF/resources, affectez la valeur true à la propriété personnalisée de conteneur Web com.ibm.ws.webcontainer.SkipMetaInfResourcesProcessing.

La valeur par défaut pour la propriété personnalisée est false.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.SkipMetaInfResourcesProcessing false

com.ibm.ws.webcontainer.suppressheadersinrequest

Vous pouvez utiliser la propriété personnalisée com.ibm.ws.webcontainer.suppressheadersinrequest pour supprimer les en-têtes qui commencent par des caractères spéciaux comme "$" ou "_". Certaines applications ne savent pas gérer les en-têtes de requête qui commencent par des caractères spéciaux.

La valeur spécifiée pour cette propriété personnalisée est une liste délimitée des préfixes d'en-tête à supprimer.

Exemple :

com.ibm.ws.webcontainer.suppressheadersinrequest=$WS,_WS
Chaîne Valeur par défaut
com.ibm.ws.webcontainer.suppressheadersinrequest aucun

com.ibm.ws.webcontainer.suppressHtmlRecursiveErrorOutput

Dans le cas d'une erreur récursive qui ne peut pas être gérée par une page d'erreur spécifiée par l'application, la trace de pile et le message d'erreur sont générés sous forme de page HTML. Cette page contient des noms de classe et des informations de programme que le développeur d'applications ne souhaite certainement pas porter à la connaissance de l'utilisateur.

Vous pouvez définir la propriété personnalisée de conteneur Web com.ibm.ws.webcontainer.suppressHtmlRecursiveErrorOutput pour supprimer la sortie HTML du texte d'erreur sans modifier la consignation interne du message. Associez la propriété personnalisée com.ibm.ws. webcontainer.suppressHtmlRecursiveErrorOutput à la valeur true pour désactiver la sortie HTML du message d'erreur pour l'utilisateur et présenter à la place une page blanche signalant le code d'erreur 500.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.suppressHtmlRecursiveErrorOutput false

com.ibm.ws.webcontainer.suppressLastZeroBytePackage

Généralement, le bloc d'octets du dernier zéro permet d'indiquer à un client la fin des données de réponse dans une transmission codée de bloc. Certaines applications utilisent ce dernier zéro pour déterminer le moment où les données de réponse sont reçues et où elles peuvent commencer à les traiter. Si une erreur se produit dans l'application une fois les en-têtes de réponse envoyées, le dernier bloc de données est toujours envoyé au client. Le client peut ne pas réaliser qu'une erreur s'est produite et peut tenter de traiter des données incomplètes.

Si vous associez la propriété personnalisée com.ibm.ws.webcontainer.suppressLastZeroBytePackage à la valeur true, si une erreur se produit dans l'application après l'envoi des en-têtes de réponse, le dernier bloc de données n'est pas envoyé au client.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.suppressLastZeroBytePackage false

com.ibm.ws.webcontainer.suppressLoggingFileNotFoundExceptions

Le conteneur Web génère un message d'erreur grave avec une trace de pile FileNotFoundException dans les journaux de machine virtuelle Java (JVM) lorsqu'un fichier manquant est demandé. Il ne s'agit peut-être pas d'une erreur grave si le fichier incorrect a accidentellement été demandé. Paramétrez cette propriété sur true pour générer un message d'avertissement dans les journaux JVM à la place d'un message d'erreur grave lorsqu'un fichier est introuvable.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.suppressLoggingFileNotFoundExceptions false

com.ibm.ws.webcontainer.suppressLoggingWebGroupVhostNotFound

Affectez la valeur true à cette propriété pour supprimer le message SRVE0255E dans le fichier SystemOut.log.

Cette propriété personnalisée est prise en charge uniquement sur les chaînes ne comportant pas de caractère générique (*).

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.suppressLoggingWebGroupVhostNotFound aucun

com.ibm.ws.webcontainer.suppressServletExceptionLogging

Si un servlet crée une exception, elle est journalisée dans la console système. Si vous ne voulez pas que le conteneur Web journalise les exceptions créées par un servlet, ajoutez la propriété personnalisée com.ibm.ws.webcontainer.suppressServletExceptionLogging aux paramètres de configuration du conteneur Web et associez-la à la valeur true.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.suppressServletExceptionLogging false

com.ibm.ws.webcontainer.throwMissingJspException

Paramétrez la propriété personnalisée com.ibm.ws.webcontainer.throwMissingJspException sur true pour créer une exception FileNotFoundException lorsqu'une ressource incluse par un fichier JSP est manquante. Si cette propriété n'est pas réglée à true, une page d'erreur est affichée.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.throwMissingJspException false

com.ibm.ws.webcontainer.throwpostconstructexception

Associez la propriété personnalisée com.ibm.ws.webcontainer.throwpostconstructexception à la valeur true pour propager des messages d'erreur personnalisés au fichier error.xhtml.

Pour les utilisateurs en transition Pour les utilisateurs en transition: La valeur par défaut de cette propriété personnalisée a été modifiée depuis la version 7.0. Dans la version 7.0, la valeur par défaut est false.trns
Chaîne Valeur par défaut
com.ibm.ws.webcontainer.throwpostconstructexception true
[AIX]

com.ibm.ws.webcontainer.tolerateLocaleMismatchForServingFiles

Vous pouvez rencontrer une erreur FileNotFound 404 du conteneur Web et la requête peut ne pas être traitée lorsque les codages suivants ne correspondent pas :
  • Codage du système de fichiers sur lequel une application est installée
  • Codage du nom de fichier envoyé dans une URL de requête

Par exemple, si la requête s'applique à un nom de fichier codé DBCS et que les paramètres régionaux du système de fichiers sont en_US, ce qui correspond à un codage ISO-8859, il y a non-concordance.

Pour résoudre ce problème, associez la propriété personnalisée com.ibm.ws.webcontainer.tolerateLocaleMismatchForServingFiles à la valeur true. Lorsque vous définissez cette propriété personnalisée, le conteneur Web tolère la non-concordance des codages respectifs du système de fichiers et du nom de fichier demandé. Le conteneur Web peut alors servir le fichier demandé.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.tolerateLocaleMismatchForServingFiles false

com.ibm.ws.webcontainer.useOriginalRequestState

Si une demande est redéfinie ou si l'application a implémenté l'interface ServletRequest, la demande peut ne pas être traitée car l'objet redéfiniou implémenté est utilisé au lieu de l'objet de la demande. Pour vous assurer que l'objet de la demande est utilisé, ajoutez la propriété personnalisée com.ibm.ws.webcontainer.useOriginalRequestState dans les paramètres de configuration du conteneur Web et définissez la valeur True.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.useOriginalRequestState false

com.ibm.ws.webcontainer.useSemiColonAsDelimiterInURI

Si la propriété est définie sur true, le conteneur Web ignore le point-virgule ; tout élément qui suit est ignoré lors de l'appel de javax.servlet.http.HttpServletRequest.getPathInfo().

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.useSemiColonAsDelimiterInURI false

com.ibm.ws.webcontainer.webgroupvhostnotfound

Le message d'erreur SRVE0017W indique "Le groupe Web n'a pas été trouvé" et le message d'erreur SRVE0255 indique "Aucun hôte virtuel/groupe Web permettant de gérer {0} n'a été défini". Ces messages peuvent être renvoyés lorsque l'application qui est appelée pour traiter la requête qui est fournie par IBM WebSphere Application Server est introuvable. Vous pouvez utiliser la propriété personnalisée com.ibm.ws.webcontainer.webgroupvhostnotfound pour remplacer le texte de ces messages par un texte plus adapté à votre environnement.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.webgroupvhostnotfound

aucun

com.ibm.ws.webcontainer.xPoweredBy

Cette propriété personnalisée vous permet de configurer la valeur de l'en-tête X-Powered-By, qui fournit des informations sur l'implémentation du serveur.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.xPoweredBy Servlet/3.0

com.ibm.wsspi.jsp.allowMultipleAttributeValues

Affectez la valeur true à cette propriété pour permettre au conteneur Web de stocker plusieurs valeurs pour un attribut de balise personnalisée.

Chaîne Valeur par défaut
com.ibm.wsspi.jsp.allowMultipleAttributeValues false

com.ibm.wsspi.jsp.convertAttrValueToString

Associez la propriété personnalisée de conteneur Web com.ibm.wsspi.jsp.convertAttrValueToString à la valeur true pour convertir les attributs de début et de fin de la balise de répétition en chaînes avant leur utilisation.

Chaîne Valeur par défaut
com.ibm.wsspi.jsp.convertAttrValueToString false

com.ibm.wsspi.jsp.disableElCache

Donnez la valeur true à la propriété personnalisée com.ibm.wsspi.jsp.disableElCache du conteneur Web pour désactiver le cache des expressions commons-el si vous subissez des dépassements de mémoire dus au fait que les tables de hachage sont conservées par l'évaluateur d'expressions.

Chaîne Valeur par défaut
com.ibm.wsspi.jsp.disableElCache false

com.ibm.wsspi.jsp.disableResourceInjection

La fonction d'injection de ressource accède aux ressources dans les applications différemment par rapport aux versions précédentes du produit et cela génère une sortie de méthode compilée plus volumineuse qu'auparavant. Si des fichiers JSP volumineux atteignaient la limite de 65535 octets dans les éditions précédentes, dans la méthode de service convertie, il est possible qu'ils dépassent à présent cette limite, ce qui causera l'échec de la compilation.

Si ce cas se présente, vous pouvez fractionner un fichier JSP volumineux en fichiers JSP plus petits et utiliser les instructions <jsp:include> pour les associer une fois compilés ; vous pouvez également ajouter la propriété personnalisée com.ibm.wsspi.jsp.disableResourceInjection aux paramètres de conteneur Web afin de désactiver la fonction d'injection de ressources pendant le processus de conversion JSP. Lorsque la propriété personnalisée com.ibm.wsspi.jsp.disableResourceInjection a pour valeur true, la fonction d'injection de ressource est désactivée pour toutes les applications.

Si vous souhaitez seulement désactiver la fonction d'injection de ressource pour des applications spécifiques, vous pouvez ajouter l'attribut JSP disableResourceInjection aux fichiers ibm-web-ext.xmi pour ces applications spécifiques.

Chaîne Valeur par défaut
com.ibm.wsspi.jsp.disableResourceInjection false

com.ibm.wsspi.jsp.disableTldSearch

Vous pouvez utiliser la propriété personnalisée com.ibm.wsspi.jsp.disableTldSearch pour optimiser le temps de démarrage de certaines applications. Par défaut, quand une application démarre, le moteur JSP analyse les répertoires d'installation de l'application pour y rechercher les fichiers TLD. Ce processus de recherche peut allonger le temps de démarrage des grosses applications à cause du grand nombre de fichiers et de répertoires à analyser. Pour désactiver ce processus de recherche, attribuez la valeur true à cette propriété.

Chaîne Valeur par défaut
com.ibm.wsspi.jsp.disableTldSearch false

com.ibm.wsspi.jsp.enabledoublequotesdecoding

Définissez la propriété personnalisée du conteneur Web com.ibm.wsspi.jsp.enabledoublequotesdecoding pour décoder un caractère codé placé entre guillemets, s'il est imbriqué dans une fonction de script au sein d'un fichier JSP (JavaServer Pages).

Le conteneur JSP ne décode pas un caractère codé entre guillemets lors de la traduction d'un fichier JSP. En revanche, il existe une dépendance sur le navigateur pour le décoder. Toutefois, lorsqu'un caractère codé entre guillemets figure dans une fonction de script d'une balise, le navigateur ne peut pas le décoder. Ainsi, lorsque cette propriété personnalisée n'est pas définie, le caractère codé entre guillemets provoque un dysfonctionnement de la fonction de script.

Lorsque vous définissez cette propriété personnalisée, sa valeur affecte toutes vos applications déployées. Si vous souhaitez affecter une application individuelle, affectez la valeur true à l'attribut JSP enableDoubleQuotesDecoding dans le fichier ibm-web-ext.xmi au sein de votre application.

Chaîne Valeur par défaut
com.ibm.wsspi.jsp.enabledoublequotesdecoding false

com.ibm.wsspi.jsp.removexmlnsfromoutput

Lorsque le conteneur Web génère du code HTML à partir d'un document JSP, le conteneur Web ne supprime aucun attribut xmlns défini pour les balises dans le document JSP. C'est pourquoi, lorsque le document JSP est affiché sur le navigateur, les attributs xmlns sont toujours présents dans le code HTML généré.

Pour vous assurer que les attributs xmlns sont toujours supprimés du code HTML généré, ajoutez la propriété personnalisée com.ibm.wsspi.jsp.removexmlnsfromoutput aux paramètres de configuration du conteneur Web et attribuez la valeur true à cette propriété.

Lorsque vous définissez cette propriété personnalisée, sa valeur affecte toutes vos applications déployées. Si vous souhaitez affecter une application individuelle, affectez la valeur true à l'attribut JSP removeXmlnsFromOutput dans le fichier ibm-web-ext.xmi au sein de votre application.

Chaîne Valeur par défaut
com.ibm.wsspi.jsp.removexmlnsfromoutput false
[z/OS]

ConnectionResponseTimeout

Utilisez la propriété ConnectionResponseTimeout pour définir en secondes la durée maximale pendant laquelle le serveur attend qu'un composant d'application réponde à une requête HTTP. Paramétrez cette variable pour chacune des définitions de canal de transport HTTP sur le serveur. Vous devrez définir cette variable à la fois pour les canaux SSL et non SSL. Si la réponse n'est pas reçue dans le délai imparti, le processus serviteur risque d'échouer avec ABEND EC3 et RSN=04130007. La configuration de ce temporisateur évite aux applications client d'attendre une réponse d'un composant d'application qui peut être bloqué, en boucle ou rencontre d'autres incidents de traitement qui provoquent le blocage du composant d'application.

Utilisez les propriétés personnalisées du serveur protocol_http_timeout_output_recovery et protocol_https_timeout_output_recovery pour indiquer l'action de récupération à entreprendre en cas de dépassement du délai accordé aux demandes qui sont reçues sur les canaux HTTP et HTTPS.

Information valeur
Type de données Entierr
Valeut par défaut 300 secondes
[AIX Solaris HP-UX Linux Windows][IBM i]

DebugSessionCrossover

La propriété personnalisée DebugSessionCrossover permet au code d'effectuer des vérifications supplémentaires pour vérifier que le processus accède ou fait référence uniquement à la session associée à la demande. En cas d'incohérences, des messages sont consignées.

Remarque : L'utilisation de la propriété DebugSessionCrossover en tant que propriété personnalisée du conteneur Web est dépréciée. Vous pouvez à présent la définir en tant que propriété personnalisée de gestion de session.

Pour activer la détection d'erreurs de données de session, attribuez la valeur true à cette propriété

Chaîne Valeur par défaut
DebugSessionCrossover false

Pour plus d'informations, reportez-vous à l'article relatif aux incidents de session HTTP.

DecodeUrlAsUTF8

La fonction d'URL au format UTF-8, qui permet aux URL au format UTF-8 de prendre en charge les caractères à double octet, est activée par défaut. Pour que le conteneur Web ne décode pas explicitement les URL au format UTF-8 et utilise la norme ISO-8859, conformément à la spécification HTTP actuelle, attribuez la valeur false à cette propriété personnalisée.

Chaîne Valeur par défaut
DecodeUrlAsUTF8 true

DisableMultiThreadedServletConnectionMgmt

Utilisez cette propriété pour activer les connexions à réutiliser entre les servlets. Pour utiliser une propriété personnalisée de conteneur Web à partir de la console d'administration :
  1. Cliquez sur Serveurs d'applications > nom_serveur > Conteneur Web > Propriétés personnalisées.
  2. Créez la propriété DisableMultiThreadedServletConnectionMgmt et définissez sa valeur sur true.

Lorsque cette propriété est activée, si le descripteur de connexion n'est pas fermé et que le servlet prend fin, le conteneur Web (dans le cadre de postinvoke), conserve la connexion et ne ferme pas le descripteur de connexion.

Chaîne Valeur par défaut
DisableMultiThreadedServletConnectionMgmt false

com.ibm.ws.webcontainer.denyDuplicateFilterinChain

Lorsqu'un URI de demande entrante est mappé à plusieurs mappages de filtre d'URL, la chaîne de filtres est mise à jour avec le même filtre plusieurs fois, ce qui entraîne l'appel du filtre plusieurs fois pour le même URI. Si vous ajoutez la propriété personnaliséef denyDuplicateFilterinChain à vos paramètres de conteneur Web et l'associez à la valeur true, un filtre déjà présent dans une chaîne de filtres ne sera pas ajouté à nouveau à cette chaîne.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.denyDuplicateFilterinChain false

enableInProcessConnections

Utilisez la propriété personnalisée enableInProcessConnections pour réduire les temps de réponse et le nombre d'unités d'exécution utilisées pour traiter une requête afin de limiter le risque de blocage.

Il existe un chemin de communication optimisé entre une application client de service Web et un conteneur Web lorsque l'un et l'autre sont situés dans le même processus de serveur d'applications. Les demandes émises par le client de services web sont normalement envoyées au conteneur web en passant par une connexion réseau, alors qu'ici, elles sont livrées directement au conteneur web en empruntant un chemin local optimisé. La disponibilité de ce chemin local provient du fait que l'application client de service Web et le conteneur Web s'exécutent dans le même processus. Ce chemin de communication optimisé est désactivé par défaut. Avant d'activer cette propriété, assurez-vous qu'aucune valeur générique n'est spécifiée pour les ports du conteneur Web. Utilisez des ports spécifiques pour le conteneur Web dès lors que le chemin de communication optimisé est activé.

Pour activer le chemin de communication optimisé, attribuez la valeur true à cette propriété.

Chaîne Valeur par défaut
enableInProcessConnections false

Pour plus d'informations, voir la rubrique relative à la communication optimisée entre un client de services Web et un conteneur Web.

Eviter les incidents Eviter les incidents: Certaines applications de services Web ne peuvent pas partager les unités d'exécution correctement. En cas d'erreurs, affectez également à la propriété jaxws.useSafeIPC JVM la valeur true.gotcha

fileServingEnabled, directoryBrowsingEnabled et serveServletsByClassnameEnabled

Les propriétés fileServingEnabled, directoryBrowsingEnabled, et les propriétés similaires, sont des réglages globaux pour les servlets internes. Les fichiers WAR (Web application archive) empaquetés à l'aide d'outils tiers ne peuvent pas définir le comportement des services exposés par les servlets internes du conteneur Web.

Vous pouvez utiliser les propriétés fileServingEnabled, directoryBrowsingEnabled et serveServletsByClassnameEnabled pour activer et désactiver globalement les fonctions fileServing, directoryBrowsing et serveServletsByClassname pour les servlets internes de toutes les applications Web au niveau du conteneur Web.
  • Le fait d'attribuer la valeur false à fileServingEnabled désactive la fonction fileServing.
  • Le fait d'attribuer la valeur true à directoryBrowsingEnabled active la fonction directoryBrowsing.
  • Le fait d'attribuer la valeur true à serveServletsByClassnameEnabled active la fonction serveServletsByClassnameEnabled.
Chaîne Valeur par défaut
fileServingEnabled true
directoryBrowsingEnabled false
serveServletsByClassnameEnabled false

Les paramètres définis dans un outil d'assemblage sont prioritaires sur les paramètres globaux définis via les propriétés personnalisées au niveau du conteneur Web.

Les extensions de déploiement d'applications Web stockent toujours les informations de configuration pour les services fournis par les servlets internes et sont prioritaires par rapport aux paramètres communs définis via les propriétés personnalisées au niveau du conteneur Web.

ForceSessionIdLengthCheck

Les nouveaux ID de session ont une longueur par défaut de 23 caractères, sauf si vous définissez la propriété personnalisée HttpSessionIdLength pour indiquer une autre longueur maximale.

Quand une requête entrante possède un ID de session d'une longueur supérieure à celle attendue et un préfixe identique à celui d'un autre ID de session, l'ID le plus long des deux est utilisé pour renvoyer une nouvelle session. Si la longueur de l'ID de session de la requête entrante dépasse la longueur maximum définie sur votre système, au point qu'elle dépasse la largeur de la colonne ID de la table de session utilisée pour la persistance de base de données, une erreur SQL0302 se produit.

Pour éviter ces erreurs SQL0302, vous pouvez ajouter la propriété personnalisée ForceSessionIdLengthCheck aux propriétés personnalisées de votre conteneur Web et lui affecter la valeur true. Lorsque cette propriété personnalisée a la valeur "true", la longueur de l'ID de session ne peut pas dépasser 23 caractères. Si une requête entrante possède un ID de session d'une longueur supérieure à 23 caractères, seuls les 23 premiers caractères sont utilisés pour renvoyer une nouvelle session.

Chaîne Valeur par défaut
ForceSessionIdLengthCheck false

ForceSessionInvalidationMultiple

La propriété personnalisée ForceSessionInvalidationMultiple indique si le gestionnaire de session attend indéfiniment la fin d'une demande avant d'invalider la session ou au contraire s'il invalide cette session une fois que la durée définie s'est écoulée.

  • Si vous spécifiez 0 (zéro) pour cette propriété, le gestionnaire de sessions attendra indéfiniment la fin d'une demande avant de tenter d'invalider la session.

    Si normalement vos demandes ne sont pas liées par une limite du temps de réponse, spécifiez 0 pour cette propriété.

  • Si vous spécifiez un entier positif, 1, par exemple, ou 2, ou 3, pour cette propriété personnalisée, même si une session est connue comme ne s'étant pas encore terminée, le gestionnaire tentera de l'invalider si le délai indiqué depuis le dernier accès s'est écoulé. L'on obtient ce délai en multipliant la valeur qui est spécifiée pour cette propriété et la valeur qui est spécifiée pour la propriété Session Timeout. Ainsi, si vous spécifiez 2 minutes pour la propriété Session Timeout et 2 pour la propriété ForceSessionInvalidationMultiple, le gestionnaire de session tentera d'invalider la session au bout de 4 minutes.

    Si vous voulez invalider vos sessions au bout d'un certain laps de temps, spécifiez pour cette propriété l'entier positif qui convient.

Chaîne Valeur par défaut
ForceSessionInvalidationMultiple 1

httpsIndicatorHeader

La propriété personnalisée httpsIndicatorHeader gère les demandes HTTPS quand elles sont transmises à un serveur d'applications depuis un accélérateur SSL utilisé pour WebSphere Application Server. Lorsqu'un accélérateur SSL reçoit une demande HTTPS, celle-ci est redirigée via HTTP vers un serveur d'applications à l'aide de WebSphere Application Server. L'accélérateur SSL doit être configuré pour ajouter un en-tête spécial indiquant que la demande d'origine était émise sur HTTPS. La propriété httpsIndicatorHeader spécifie le nom de clé d'en-tête de demande ajouté par la case SSL. Le serveur d'applications vérifie cet indicateur afin de déterminer si SSL est requis. S'il détermine que la demande est SSL sur HTTP, le schéma HTTPS est sélectionné.

Chaîne Valeur par défaut
httpsIndicatorHeader aucun

HttpSessionIdReuse

La propriété HttpSessionIdReuse permet d'indiquer si le gestionnaire de session peut utiliser l'ID de session transmis depuis un navigateur pour préserver les données de la session pour toutes les applications Web exécutées au sein d'un environnement sur lequel la persistance des sessions n'est pas activée. Dans un environnement à plusieurs machines virtuelles Java non configuré pour la persistance des sessions, le fait de régler cette propriété à true permet au gestionnaire de sessions d'utiliser les mêmes informations de session pour l'ensemble des demandes d'un utilisateur, même si les applications Web traitant ces demandes sont gérées par différentes machines virtuelles Java. La valeur par défaut de cette propriété est false.

Remarque : L'utilisation de la propriété HttpSessionIdReuse en tant que propriété personnalisée du conteneur Web est dépréciée. Vous devez maintenant définir cette fonctionnalité en tant que propriété personnalisée de gestion de session.

Pour permettre au gestionnaire de sessions d'utiliser l'ID de session transmis depuis un navigateur pour préserver les données de la session pour toutes les applications Web exécutées au sein d'un environnement sur lequel la persistance des sessions n'est pas activée, attribuez la valeur true à cette propriété.

Chaîne Valeur par défaut
HttpSessionIdReuse false

programmes d'écoute

La spécification Servlet prend en charge les applications qui enregistrent individuellement des écouteurs pour les événements liés aux servlets. Le descripteur web.xml est utilisé à cet effet. Toutefois, en ayant recours à la propriété personnalisée des programmes d'écoute, vous pouvez activer un serveur afin qu'il écoute les événements de servlets sur plusieurs applications Web.

Pour implémenter l'écoute globale, on enregistre un écouteur au niveau du conteneur Web ; cet écouteur est propagé à toutes les applications déjà en place ainsi qu'aux applications nouvellement installées. Ce comportement d'écoute globale des servlets internes est contrôlé par la propriété personnalisée listeners à l'aide du format de paire nom-valeur suivant.
listeners=listener_class
Chaîne Valeur par défaut
programmes d'écoute aucun

La valeur de cette propriété est une chaîne spécifiant une liste de classes d'écouteurs séparées par des virgules. Le ou les écouteurs fournis doivent implémenter les classes standard d'écouteurs de l'API Java Servlet ou les classes IBM d'extension d'écouteurs.

[z/OS]

MutualAuthCBindCheck

Cette propriété est uniquement valide sur la propriété z/OS. Utilisez la propriété MutualAuthCBindCheck pour indiquer si un certificat de client doit être résolu en un principal SAF.

Utilisez la propriété MutualAuthCBindCheck pour indiquer si un certificat de client doit être résolu en un principal SAF. Si cette propriété est définie sur true, toutes les connexions SSL d'un navigateur doivent disposer d'un certificat client et l'ID utilisateur associé à ce certificat client doit avoir une autorité RACF CONTROL pour CB.BIND.servername. Que l'authentification par certificat de client soit utilisée ou non dans une connexion SSL, si ces conditions ne sont pas satisfaites, la connexion est fermée. Exécutez la commande RACFsuivante pour accorder l'autorité CONTROL RACF à l'ID utilisateur associé au certificat client :

PERMIT CB.BIND.<optional SAF profile prefix>.clustername CLASS(CBIND) ID(clientCertUserid) ACCESS(CONTROL)
Chaîne Valeur par défaut
MutualAuthCBindCheck false

prependSlashToResource

WebSphere Application Server 5.x prend en charge les URL non précédées d'une barre oblique ( / ). Par souci de compatibilité, vous pouvez attribuer la valeur true à cette propriété personnalisée. Lorsque cette propriété a pour valeur true, le conteneur Web ignore la spécification et prend en compte les URL non précédées d'une barre oblique. Utilisez la paire nom-valeur suivante.

Chaîne Valeur par défaut
prependSlashToResource false

com.ibm.ws.webcontainer.suppressLoggingServiceRuntimeExcep

Vous pouvez utiliser cette propriété pour supprimer la consignation de toute exception RuntimeException qui se produit lors du traitement d'un servlet.

Par défaut, le conteneur Web consigne l'exception de type RuntimeException dans les journaux de la machine virtuelle Java, si l'exception se produit lors du traitement d'un servlet. Si cette propriété a pour valeur true, le conteneur Web ne consigne pas les exceptions RuntimeException qui se produisent lors du traitement d'un servlet.

Eviter les incidents Eviter les incidents: L'affectation de la valeur true à cette propriété ne supprime que la consignation des exceptions de type RuntimeException. L'affectation de la valeur true à cette propriété n'affecte pas les exceptions renvoyées à l'appelant.gotcha
Chaîne Valeur par défaut
com.ibm.ws.webcontainer.suppressLoggingServiceRuntimeExcep false

trusted

La propriété personnalisée sécurisée permet au serveur d'applications d'utiliser des en-têtes privés entrants, provenant du plug-in de serveur Web. Ces en-têtes privés entrants avertissent le serveur d'applications de la connexion au serveur Web. Lorsque vous paramétrez la propriété personnalisée sur true, le serveur d'applications utilise les informations affirmées concernant les certificats client. Ces certificats client sont utilisés par l'utilisateur pour se connecter au serveur Web et indiquer les informations client traitées comme le certificat pour l'utilisateur. Le serveur d'applications utilise ensuite les informations de certificat à des fins d'authentification lorsque l'authentification du certificat client est utilisée ou que le code d'application accède aux certificats javax.net.ssl.peer_certificates. Ces informations étant affirmées, elles ne sont pas sûres et rendent le système vulnérable aux attaques par connexion directe au serveur d'applications sans passer par le serveur Web.

Important : Si vous autorisez les connexions directes au serveur d'applications et utilisez des certificats de client, vous devez régler cette propriété personnalisée à false.
Chaîne Valeur par défaut
trusted true
[AIX Solaris HP-UX Linux Windows]

UseOracleBLOB

La propriété personnalisée UseOracleBLOB crée la table de bases de données des sessions HTTP à l'aide d'un type de données BLOB (Binary Large Object) pour la colonne intermédiaire. Cette propriété augmente les performances des sessions persistantes lorsque des bases de données Oracle sont utilisées.

En raison d'une restriction liée à Oracle, le support BLOB requiert l'utilisation d'un pilote de base de données OCI Oracle pour les données supérieures à 4000 octets. Vous devez également vérifier qu'une nouvelle table de sessions est créée avant le redémarrage du serveur en supprimant les anciennes tables de session ou en modifiant la définition de la source de données pour référencer une base de données qui ne contient pas de table de sessions.

Pour créer une table de sessions à l'aide du type de données BLOB, attribuez la valeur true à cette propriété.

Remarque : L'utilisation de la propriété UseOracleBLOB en tant que propriété personnalisée du conteneur Web est dépréciée. Vous devez maintenant définir cette fonction en tant que propriété personnalisée de gestion de session.
Chaîne Valeur par défaut
UseOracleBLOB false
[AIX Solaris HP-UX Linux Windows]

setContentLengthOnClose

Indique si la longueur du contenu doit être définie ou non lorsqu'une application ferme la réponse explicitement.

La valeur par défaut et recommandée est true ; toutefois, définissez la valeur false si une réponse d'application contient des caractères codés sur deux octets.

Chaîne Valeur par défaut
setContentLengthOnClose true

com.ibm.ws.webcontainer.servlet30compatibility

Lorsque cette propriété personnalisée est définie sur true, les modifications de comportement apportées au servlet 3.1 sont remplacées par le comportement du servlet 3.0 comme suit :

  • Si vous appelez AsyncContext.getRequest() ou AsyncContext.getResponse() après AsyncContext.dispatch() ou AsyncContext.complete(), le serveur n'émet pas d'exception IllegalStateException.
  • Si vous appelez ServletResponse.reset(), l'état de l'appel de getWriter() ou getOutputStream() n'est pas effacé.
  • Si vous appelez les méthodes ServletContext suivantes, le serveur n'émet pas d'exception UnsupportedOperationException :
    • ServletContext.getClassLoader()
    • ServletContext.getEffectiveMajorVersion()
    • ServletContext.getEffectiveMinorVersion()
    • ServletContext.getFilterRegistration()
    • ServletContext.getFilterRegistrations()
    • ServletContext.getServletRegistration()
    • ServletContext.getServletRegistrations()
    • ServletContext.declareRoles()
    • ServletContext.getVirtualServerName()
  • Le conteneur Web (WebContainer) n'interrompt pas l'enregistrement d'un servlet avec un mappage d'URL en double. Une applications existante démarre normalement ; toutefois, le déploiement d'une nouvelle application contenant des conflits avec plusieurs servlets mappés au même masque d'URL (url-pattern) entraînera toujours l'échec du déploiement.
  • La valeur définie dans la propriété personnalisée WebContainer com.ibm.ws.webcontainer.RedirectWithPathInfo n'est pas ignorée.
  • Si un servlet émet une exception E-S (IOException) et qu'un filtre est configuré pour cette demande, la propriété WebContainer émet une exception ServletException.

La valeur par défaut et recommandée est false ; toutefois, vous pouvez définir la valeur sur true pour restaurer le comportement 3.0.

Chaîne Valeur par défaut
com.ibm.ws.webcontainer.servlet30compatibility false

Icône indiquant le type de rubrique Rubrique de référence



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=rweb_custom_props
Nom du fichier : rweb_custom_props.html