2009-11-25 83 views
3

匹配的問題,我想用這種模式對我的Java Web應用程序:web.xml中的URL模式爲Tomcat

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

,然後解析URL在servlet得到什麼價值星號是,並使用該值查詢數據庫中的不同表格。

但是,這似乎是Tomcat的非法模式。 有沒有什麼辦法可以實現這一點,而不必在斜槓之間對代碼進行硬編碼?

(例如,在使用的情況下,你想知道的背景是什麼:/vancouver-hotel/rooms.html/seattle-hotel/rooms.html):

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

回答

0

很容易用GET參數進行

http://tuckey.org/urlrewrite/

+1

對SEO不友好。查詢參數被忽略。 – BalusC 2009-11-25 12:01:46

+0

將所有內容映射到房間,並讓servlet在從查詢參數中提取城市後進行分類。 – duffymo 2009-11-25 22:43:02

1

您可以使用URL重寫過濾器:

3

最好的方法是重新排列你的URL結構到/hotels/<cityname> a讓HotelServlet監聽/hotels/*並使用request.getPathInfo()<cityname>作爲路徑信息獲取。您可以使用通常的java.lang.String方法進一步解析pathinfo。例如,一個split("/")然後將這些部分存儲爲一個請求屬性或可以由業務/域對象訪問的其他內容。