gpt4 book ai didi

java - 将 `init-param` 从 Guice 传递给 servlet 不起作用

转载 作者:行者123 更新时间:2023-11-30 10:55:26 26 4
gpt4 key购买 nike

尝试使用 Guice ( MyServletModule.java ) 将初始化参数传递给我的 servlet:

    Map<String, String> params = new HashMap<>();
params.put("key1", "value1");
params.put("key2", "value2");
this.serve("/hi").with(HelloWorldServlet.class, params);

然后尝试在我的 servlet 中打印出来:

    resp.setContentType("text/plain");
resp.getWriter().println("Hello, my singleton AppEngine");

resp.getWriter().println("key1: " + this.getServletContext().getInitParameter("key1"));

而且我总是得到一个null。我究竟做错了什么?我怀疑我的 Guice Jersey 与 GAE 的集成有问题,但无法排除故障。

文件:

配置:

  • 适用于 Java 的 Google App Engine 1.9.26
  • 指南 4.0
  • Jersey 2.5.1
  • 客观化 5.1.7

最佳答案

将以下内容添加到 servlet 有效:

private String key1 = null;

private String key2 = null;


@Override
public void init(ServletConfig config) throws ServletException {
this.key1 = config.getInitParameter("key1");
this.key2 = config.getInitParameter("key2");
}

然后在 doGet(...) 方法中:

    resp.getWriter().println("key1: " + this.key1);
resp.getWriter().println("key2: " + this.key2);

关于java - 将 `init-param` 从 Guice 传递给 servlet 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33338856/

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