Java.lang.IllegalArgumentException: invalide dans la cartographie des servlets

<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 est le fragment de Tomcat web.xml. The URL pattern *NEXTEVENT* au démarrage jette

java.lang.IllegalArgumentException: in servlet mapping

Il sera grandement apprécié si quelqu'un peut allusion à l'erreur.

39
demandé sur ɢʀᴜɴᴛ 2008-08-25 23:56:38

2 réponses

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

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

la spécification url-pattern:

  • Une chaîne de caractères commençant par un caractère " / " et se terminant par un ‘/*’ le suffixe est utilisé pour la cartographie des chemins.
  • une chaîne commençant par un'*.’ préfixe est utilisé comme une extension cartographie.
  • une chaîne contenant seulement le caractère ’ / 'indique le "default"" servlet de l'application. Dans ce si le chemin de servlet est la requête URI moins le chemin du contexte et le chemin de l'info, c'est nul.
  • Toutes les autres chaînes sont utilisés pour les correspondances exactes.

voir la section 12.2 du Java Servlet Specification Version 3.1 pour plus de détails.

93
répondu McDowell 2017-03-16 00:31:08

une solution qui peut y parvenir est d'ajouter un filtre servlet pour faire des réécritures D'URL par exemple ré-écrire NEXTEVENT to / NEXTEVENT/(celle d'avant la NEXTEVENT)/(celui qui suit NEXTEVENT) ou quelque chose de similaire.

1
répondu talg 2008-09-15 06:59:47