我将其读入标签<url-pattern>
我可以写一个前缀或后缀模式网址。
但如果我尝试写下这样的话:
<url-pattern>*sde</url-pattern>
或
<url-pattern>/sde*</url-pattern>
并尝试获取url as polsde alsde或sdepp sdelop我有404错误并且部署失败 进入服务器日志。
怎么了?
答案 0 :(得分:2)
网址格式错误。
您提供的模式无效
网址格式规范:
- 以“/”字符开头并以“/ *”结尾的字符串 后缀用于路径映射。
- 以'*。'前缀开头的字符串用作扩展名 映射。
- 仅包含'/'字符的字符串表示“默认” 应用程序的servlet。在这 case servlet路径是请求 URI减去上下文路径和 路径信息为空。
- 所有其他字符串仅用于完全匹配。
答案 1 :(得分:1)
有趣的问题!从阅读3.0 servlet规范来看,servlet映射中的通配符看起来与正则表达式通配符的工作方式不同;映射有边界。
* .sde是一个有效的映射。
“/ sde / *”也是如此,但是当你使用嵌入式通配符时我没有看到任何提及。有关Servlet 3.0规范,请参阅第12.2节。