Question

<servlet>
    <servlet-name>myservlet</servlet-name>
    <servlet-class>workflow.WDispatcher</servlet-class>
    <load-on-startup>2</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>myservlet</servlet-name>
    <url-pattern>*NEXTEVENT*</url-pattern>
</servlet-mapping>

Ci-dessus, l'extrait de Tomcat web.xml.Le modèle d'URL *NEXTEVENT* aux lancers de démarrage

java.lang.IllegalArgumentException :<url-pattern> invalide dans le mappage de servlet

Il serait grandement apprécié si quelqu'un pouvait faire allusion à l'erreur.­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

Était-ce utile?

La solution

<url-pattern>*NEXTEVENT*</url-pattern>

Le modèle d'URL n'est pas valide.Il peut se terminer par un astérisque ou commencer par un (pour désigner un mappage d'extension de fichier).

La spécification du modèle d'URL :

  • Une chaîne commençant par un caractère '/' et se terminant par un suffixe '/ *' est utilisée pour le mappage de chemin.
  • Une chaîne commençant par un '*.' Le préfixe est utilisé comme mappage d'extension.
  • Une chaîne ne contenant que le caractère '/' indique le servlet "par défaut" de l'application.Dans ce cas, le chemin du servlet est la demande uri moins le chemin de contexte et les informations de chemin sont nuls.
  • Toutes les autres chaînes sont utilisées uniquement pour les correspondances exactes.

Voir l'article 12.2 du Spécification des servlets Java Version 3.1 pour plus de détails.

Autres conseils

Une solution de contournement permettant d'y parvenir consiste à ajouter un filtre de servlet pour effectuer des réécritures d'URL, par exemple.récrire PROCHAIN ​​ÉVÉNEMENT vers /ÉVÉNEMENT SUIVANT/(celui avant le NEXTEVENT)/(celui après NEXTEVENT) ou quelque chose de similaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top