Я использую Jersey 1.11 вместо Guice 3.0 на Tomcat 6.0.32 в стандартной конфигурации:
configureServlets() {
filter("/ws/*").through(GuiceContainer.class);
}
И простой класс ресурсов:
@Path("/resource")
public class Resource { ... }
Учитывая это, я бы предположил, что доступ к "/ ws / resource" будет работать; но на самом деле никаких ресурсов не найдено. Кажется, проблема заключается в том, что путь запроса вычисляется неправильно. В качестве обходного пути я установил параметр PROPERTY_FILTER_CONTEXT_PATH
на /ws
, который заставляет все это работать:
Map<String, String> jerseyConfig = new HashMap<String, String>();
jerseyConfig.put(ServletContainer.PROPERTY_FILTER_CONTEXT_PATH, "/ws");
filter("/ws/*").through(GuiceContainer.class, jerseyConfig);
Таким образом, мои вопросы:
- Это действительно ошибка или «фича»?
- Есть ли другое решение или обходной путь для этого?
Для информации, я видел одну ошибку Guice, которая может быть связана, кажется, она была объединена с другой, но мне интересно, исправлена ли она правильно ( ссылка )