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

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

===============>>#1 票数:94 已采纳

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

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

网址格式规范:

  • 以“/”字符开头并以“/ *”后缀结尾的字符串用于路径映射。
  • 以“*”开头的字符串 prefix用作扩展映射。
  • 仅包含'/'字符的字符串表示应用程序的“默认”servlet。 在这种情况下,servlet路径是请求URI减去上下文路径,路径信息为null。
  • 所有其他字符串仅用于完全匹配。

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

===============>>#2 票数:1

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

  ask by translate from so

未解决问题?本站智能推荐: