web.xml与Tomcat的URL模式匹配问题

时间:2009-11-25 11:04:00

标签: tomcat web.xml url-pattern

我想在我的Java Web应用程序中使用这种模式:

<url-pattern>/*/test.html</url-pattern>

然后解析servlet中的URL以获取star的值,并使用该值查询数据库中的其他表。

然而,这似乎是Tomcat的非法模式。 有没有什么方法可以实现这个,而不必在斜杠之间硬编码?

(示例用于您想知道上下文是什么:/vancouver-hotel/rooms.html/seattle-hotel/rooms.html

3 个答案:

答案 0 :(得分:3)

最好的方法是将您的网址结构重新排列为/hotels/<cityname>,让HotelServlet收听/hotels/*,并使用request.getPathInfo()<cityname>作为pathinfo。您可以使用通常的java.lang.String方法进一步解析pathinfo。例如split("/"),然后将这些部分存储为请求属性或其他可由业务/域对象访问的内容。

答案 1 :(得分:1)

您可以使用网址重写过滤器:

http://tuckey.org/urlrewrite/

答案 2 :(得分:0)

使用GET参数轻松完成:

http://localhost:8080/rooms?city=vancouver