我想在Java Web应用程序中使用这种模式:
<url-pattern>/*/test.html</url-pattern>
然后解析servlet中的URL以获取星形的值,然后使用该值查询数据库中的另一个表。
但是,这对于Tomcat似乎是非法的模式。
有什么方法可以实现这一目标而不必对斜线之间的位进行硬编码?
(该示例在您想知道上下文是什么的情况下使用:
/vancouver-hotel/rooms.html
,/seattle-hotel/rooms.html
) 最佳答案
最好的方法是将URL结构重新排列为/hotels/<cityname>
,并让HotelServlet
监听/hotels/*
,并使用<cityname>
将request.getPathInfo()
用作路径信息。您可以使用通常的java.lang.String
方法进一步解析pathinfo。例如split("/")
,然后将零件存储为请求属性或可以由业务/域对象访问的其他内容。