我正在使用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?
谢谢!
答案 0 :(得分:0)
如果您使用Grizzly,您可能希望通过grizzly2-servlet模块中的GrizzlyWebContainerFactory创建服务器。这样你就可以注入HttpServletRequest。