java.lang.IllegalArgumentException: Invalide dans le mappage du servlet

 myservlet workflow.WDispatcher 2   myservlet *NEXTEVENT*  

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

java.lang.IllegalArgumentException: Invalide dans le mappage du servlet

Ce serait très apprécié si quelqu’un pouvait suggérer l’erreur.

 *NEXTEVENT* 

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

La spécification url-pattern:

  • 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 contenant uniquement le caractère ‘/’ indique le servlet “par défaut” de l’application. Dans ce cas, le chemin de la servlet est l’URI de la requête moins le chemin de contexte et les informations de chemin d’access sont nulles.
  • Toutes les autres chaînes sont utilisées uniquement pour les correspondances exactes.

Voir la section 12.2 de la spécification Java Servlet version 3.1 pour plus de détails.

Une solution de contournement qui peut réaliser cela est d’append un filtre de servlet pour faire des réécritures d’URL, par exemple réécrire NEXTEVENT dans / NEXTEVENT / (celui avant le NEXTEVENT) / (celui qui suit NEXTEVENT) ou quelque chose de similaire.