2011-04-26 56 views
1

我读到标签<url-pattern>我可以写一个前缀或后缀模式的网址。GlassFish 3.1和标签<url-pattern>的web.xml文件

但是,如果我尝试写类似:

<url-pattern>*sde</url-pattern> 

<url-pattern>/sde*</url-pattern> 

,并尝试获取URL作为polsde alsde或sdepp sdelop我有一个404错误和部署失败 进入服务器日志。

怎么了?

回答

1

有趣的问题!从阅读3.0 servlet规范,它看起来不像servlet映射中的通配符与正则表达式通配符相同;映射有边界。

* .sde将是一个有效的映射。

所以会“/ sde/*”,但我没有看到任何提及嵌入式通配符,因为你正在使用它们。有关Servlet 3.0规范,请参见第12.2节。

+0

是的,谢谢我会阅读规范。 – xdevel2000 2011-04-26 12:18:11

2

URL模式错误。

您提供的模式是无效的

的url-pattern的规格:

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

请检查更新。 – 2011-04-26 12:20:15