开发者

web.xml URL pattern matching question for Tomcat

I'd like to use this 开发者_运维技巧kind of a pattern for my Java web app:

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

and then parse the URL in the servlet to get what the value of the star is, and use that value to query a different table in the database.

However this seems to be an illegal pattern for Tomcat. Is there any way I can achieve this without having to hard code the bit between the slashes?

(example uses in case you're wondering what the context is: /vancouver-hotel/rooms.html, /seattle-hotel/rooms.html)


Best way is to rearrange your URL structure to /hotels/<cityname> and let a HotelServlet listen on /hotels/* and get the <cityname> as pathinfo using request.getPathInfo(). You can use the usual java.lang.String methods to parse the pathinfo further. For example a split("/") and then storing the parts as a request attribute or something else which can be accessed by business/domain objects.


You can use a url rewriting filter:

http://tuckey.org/urlrewrite/


Easily done with a GET parameter:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜