2015-10-26 2 views
2

Попытка передать параметры инициализации в мой сервлет с помощью Guice (MyServletModule.java):Передача `Init-param` в сервлет из Guice не работает

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

, а затем пытается напечатать его в моем сервлета:

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

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

и я всегда получаю null. Что я делаю не так? Я подозреваю, что моя интеграция Guice и Джерси с GAE виновата, но не может устранить ее.

Файлы:

Конфигурация:

  • Google App Engine для Java 1.9.26
  • Guice 4,0
  • Джерси 2.5.1
  • объективизации 5.1.7

ответ

1

Добавление следующих в сервлет обработанный:

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); 
Смежные вопросы