java.lang.IllegalArgumentException:servlet映射中的<url-pattern>无效

<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> 

以上是Tomcat的web.xml的片段。 启动时的URL模式*NEXTEVENT*会引发

java.lang.IllegalArgumentException:servlet映射中的<url-pattern>无效

如果有人可以提示错误,将不胜感激。

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

url格式无效。 它可以以星号结尾或以一个开头(表示文件扩展名映射)。

url模式规范:

  • 以“/”字符开头并以“/ *”后缀结尾的string用于path映射。
  • 以“*”开头的string 前缀被用作扩展映射。
  • 只包含'/'字符的string表示应用程序的“默认”servlet。 在这种情况下,servletpath是请求URI减去上下文path,path信息为空。
  • 所有其他string仅用于精确匹配。

有关更多详细信息,请参阅Java Servlet规范版本3.1的第​​12.2节。

一个可以实现的解决方法是添加一个servletfilter来进行URL重写,例如,将NEXTEVENT重写为/ NEXTEVENT / (NEXTEVENT之前的那个)/ (NEXTEVENT之后的那个)或类似的东西。