gpt4 book ai didi

java - 注入(inject)的 ServetContext 在 Grizzly 上为 null,在 TomCat 7 中不为 null

转载 作者:行者123 更新时间:2023-12-01 15:43:00 26 4
gpt4 key购买 nike

我正在开发 Jax-RS RESTful Web 服务。虽然我仍在编码(在 Eclipse 中),但我希望能够轻松调试,因此我决定创建一个 Maven 项目,并使用 Grizzly Web 服务器的依赖项,这样我只需 2代码行(甚至不必构建 WAR 文件)。

在我的 Web 服务实现类(带有 @Path 的类)中,我已将上下文作为成员变量注入(inject):

@javax.ws.rs.core.Context
ServletContext context;

当我检查上下文变量是否为 null 时,如果我构建 WAR 文件并将其部署到 TomCat 中,它不会为 null,但当我启动 Grizzly 服务器并检查它时,它将为 null。启动 Grizzly v1.9 服务器的步骤如下:

String url = "http://localhost:1234";
SelectorThread srv = GrizzlyServerFactory.create(url);

我尝试通过 Google 寻找解决方案,有人建议在 web.xml 中启用“load-on-startup”,但这也没有帮助。

有什么想法吗?干杯!

最佳答案

我的猜测是您使用的是没有 Servlet 容器扩展的 Grizzly。理论上JAX-RS不仅可以运行在servlet环境中,但是这样你就无法获取ServletContext或HttpServletRequest或Response。

关于java - 注入(inject)的 ServetContext 在 Grizzly 上为 null,在 TomCat 7 中不为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7710735/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com