2014-02-20 5 views
0

Я использую Джерси с Jetty (или Grizzly) и разводкой сервер следующим образом:HttpServletRequest без Servlet Container

final ApplicationHandler handler = new ApplicationHandler(resourceConfig); 
server = GrizzlyHttpServerFactory.createHttpServer(uri, handler); 
server.start(); 

Используя этот метод, чтобы начать Джерси, у меня нет доступа к HttpServletRequest в качестве фабрики подключены в WebComponent. Я могу, однако, ввести javax.ws.rs.core.Request или org.glassfish.jersey.server.ContainerRequest, но я не уверен, как добраться оттуда до HttpServletRequest.

Причина, по которой мне нужны объекты запроса и ответа сервлета, заключается в том, что я использую фильтры API, которые зависят от них. Могу ли я подключить Grizzly/Jetty неправильно или мне нужна какая-то фабрика адаптеров для javax.ws.rs.core.Requests?

Спасибо!

+0

Я не понимаю. Вы не можете вводить «HttpServletRequest» при запуске приложения, никто еще не сделал запрос. –

+0

Извините, я должен уточнить, что я пытаюсь ввести HttpServletRequest, используя аннотацию Context в сконфигурированном ресурсе. Проблема в том, что фабрика PerScope регистрируется только через WebComponent, которая не трогается с использованием метода выше. – Zack

ответ

0

Если вы используете Grizzly, вы можете создать сервер через GrizzlyWebContainerFactory с модуля grizzly2-servlet. Таким образом, вы должны уметь вводить HttpServletRequest.

Смежные вопросы