没有Servlet容器的HttpServletRequest

时间:2014-02-20 01:56:45

标签: java jersey jetty jax-rs grizzly

我正在使用Jersey和Jetty(或Grizzly)并将服务器连接起来:

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

使用此方法启动Jersey,我无法访问HttpServletRequest,因为工厂已连接到WebComponent中。但是,我可以注入javax.ws.rs.core.Request或org.glassfish.jersey.server.ContainerRequest,但我不知道如何从那里进入HttpServletRequest。

我需要servlet请求和响应对象的原因是我使用的依赖于它们的过滤器API。我是否错误地连接了Grizzly / Jetty,或者我是否需要某种适配器工厂用于javax.ws.rs.core.Requests?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您使用Grizzly,您可能希望通过grizzly2-servlet模块中的GrizzlyWebContainerFactory创建服务器。这样你就可以注入HttpServletRequest。