Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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)

like image 831
Murat Ayfer Avatar asked Dec 30 '25 02:12

Murat Ayfer


2 Answers

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.

like image 124
BalusC Avatar answered Dec 31 '25 18:12

BalusC


You can use a url rewriting filter:

http://tuckey.org/urlrewrite/

like image 38
Blake Pettersson Avatar answered Dec 31 '25 17:12

Blake Pettersson



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!