【问题标题】:java.lang.IllegalArgumentException: Invalid <url-pattern> in servlet mappingjava.lang.IllegalArgumentException:servlet 映射中的 <url-pattern> 无效
【发布时间】:2010-09-06 19:19:01
【问题描述】:
<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 的 sn-p。 URL 模式 *NEXTEVENT* 在启动时抛出

java.lang.IllegalArgumentException: servlet 映射中的 无效

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

【问题讨论】:

    标签: tomcat servlets web.xml illegalargumentexception servlet-mapping


    【解决方案1】:
    <url-pattern>*NEXTEVENT*</url-pattern>
    

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

    url-pattern 规范:

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

    有关详细信息,请参阅Java Servlet Specification 版本 3.1 的第 12.2 节。

    【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2015-10-04
      • 2015-10-10
      • 2014-08-15
      • 2016-06-10
      • 2015-09-14
      • 2015-09-13
      • 2015-02-24
      • 2020-04-11
      • 1970-01-01
      相关资源
      最近更新 更多