Возможно ли фильтру сервлетов получить свой URL-путь? - PullRequest
2 голосов
/ 27 июня 2011

Я могу сопоставить один сервлет с различными шаблонами URL в файле web.xml.При программировании сервлета я могу затем узнать, какой из этих шаблонов URL соответствует запросу, путем получения пути сервлета через request.getServletPath().

Как я могу добиться этого с помощью фильтров?При сопоставлении фильтра с различными шаблонами URL, есть ли способ узнать, какому пути соответствует текущий запрос?

Поскольку мой фильтр в настоящее время работает с содержимым, сопоставленным с DefaultServlet, request.getServletPath() возвращаетвесь путь, и PathInfo всегда равен нулю.

Я новичок в сервлетах и ​​фильтрах, поэтому я надеюсь, что мой вопрос ясен и вообще имеет смысл.

1 Ответ

2 голосов
/ 27 июня 2011

Нет, нет. Вы должны определить его самостоятельно на основе URI запроса и предварительно определенного набора / списка / карты всех известных / поддерживаемых путей. При необходимости вы можете установить эти пути как <init-param> фильтра и обработать его во время метода init(), чтобы вы могли повторно использовать его в методе doFilter().

...