3

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)

Murat Ayfer
  • 3,894
  • 6
  • 29
  • 26

3 Answers3

3

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.

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555
1

You can use a url rewriting filter:

http://tuckey.org/urlrewrite/

Blake Pettersson
  • 8,927
  • 3
  • 27
  • 36
0

Easily done with a GET parameter:

http://localhost:8080/rooms?city=vancouver
duffymo
  • 305,152
  • 44
  • 369
  • 561