我想指定一个Servlet网址模式,以匹配以斜杠(“/”)结尾且只有斜杠的网址。
我理解模式
/example/path/*
将匹配
的网址http://example.com/example/path/
并且这似乎有效。但是,相同的模式也会匹配
的URLhttp://example.com/example/path/a/ http://example.com/example/path/b/ http://example.com/example/path/c/
我只是在寻找一个只匹配http://example.com/example/path/
的网址格式,而不会匹配http://example.com/example/path/a/
等等。
澄清:不允许以斜杠结尾的网址格式。
答案 0 :(得分:8)
很可能你不能通过web.xml中的映射来做到这一点。
您可以做的是将servlet映射到/ mypath / *,然后通过request.getPathInto()检查/ mypath /之后的部分。如果是“/”,请运行您的代码。如果不是,则返回404错误。
答案 1 :(得分:1)
在NetBeans中,如果我转到web.xml文件上的Servlets选项卡,IDE会抱怨,"错误:URL模式不能以斜杠(/)"结尾。从URL spec,它读取,
httpurl = "http://" hostport [ "/" hpath [ "?" search ]]
hpath = hsegment *[ "/" hsegment ]
所以是的,带有结尾斜杠的URI无效。