2009-11-25 2 views
3

Я хотел бы использовать этот вид шаблона для моего веб-приложения Java:web.xml шаблон URL соответствующий вопрос для Tomcat

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

, а затем разобрать URL в сервлет, чтобы получить какое значение из звезда, и используйте это значение для запроса другой таблицы в базе данных.

Однако это похоже на незаконный шаблон для Tomcat. Есть ли способ, которым я могу достичь этого без необходимости жестко кодировать бит между косой чертой?

(пример использует в случае, если вам интересно, что контекст: /vancouver-hotel/rooms.html, /seattle-hotel/rooms.html)

ответ

0

легко сделать с помощью параметра GET:

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

Не SEO дружественный. Параметры запроса игнорируются. – BalusC

+0

Отправляйте все в комнаты и позволяйте сервлету сортировать вещи после того, как выберете город из параметров запроса. – duffymo

3

Лучший способ изменить структуру URL-адреса на /hotels/<cityname> a nd let a HotelServlet прослушать с /hotels/* и получить <cityname> как pathinfo, используя request.getPathInfo(). Вы можете использовать обычные методы java.lang.String для дальнейшего анализа pathinfo. Например, split("/"), а затем хранение частей в качестве атрибута запроса или что-то еще, к которому могут обращаться объекты бизнеса/домена.