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

发布于 2024-07-04 12:56:40 字数 637 浏览 5 评论 0原文

<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映射中

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

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

Above is the snippet from Tomcat's web.xml. The URL pattern *NEXTEVENT* on start up throws

java.lang.IllegalArgumentException: Invalid <url-pattern> in servlet mapping

It will be greatly appreciated if someone can hint at the error.
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不交电费瞎发啥光 2024-07-11 12:56:49

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

A workaround that can achieve that is to add a servlet filter to do URL re-writes e.g.
re-write NEXTEVENT to /NEXTEVENT/(the one before the NEXTEVENT)/(the one after NEXTEVENT) or something similar.

初见终念 2024-07-11 12:56:47
<url-pattern>*NEXTEVENT*</url-pattern>

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

url 模式规范:

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

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

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

The URL pattern is not valid. It can either end in an asterisk or start with one (to denote a file extension mapping).

The url-pattern specification:

  • A string beginning with a ‘/’ character and ending with a ‘/*’
    suffix is used for path mapping.
  • A string beginning with a ‘*.’ prefix is used as an extension
    mapping.
  • A string containing only the ’/’ character indicates the "default"
    servlet of the application. In this
    case the servlet path is the request
    URI minus the context path and the
    path info is null.
  • All other strings are used for exact matches only.

See section 12.2 of the Java Servlet Specification Version 3.1 for more details.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文