将init params添加到init中的列表(ServletConfig)

时间:2012-06-21 08:45:38

标签: java servlets

尝试在init(ServletConfig)方法中将init参数名称添加到列表中。

public void init(ServletConfig sc){
    try {
        super.init(sc);
        Enumeration<String> e= sc.getInitParameterNames();
        while(e.hasMoreElements()){
            list.add(e.nextElement());
        }
    } catch (ServletException e1) {
        e1.printStackTrace();
    }
}

当我使用此列表时,我收到 NullPointerException ,因为 e.hasMoreElement()返回false 。 我很确定我已经在web.xml文件中正确添加了init参数。 出了什么问题?请指教。

1 个答案:

答案 0 :(得分:4)

我认为你没有intialized list个对象。 list对象为空。

更改代码清单:

public void init(ServletConfig sc){
   try {
      super.init(sc);
      list = new ArrrayList<String>();
      Enumeration<String> e= sc.getInitParameterNames();
      while(e.hasMoreElements()){
         list.add(e.nextElement());
      }
   } catch (ServletException e1) {
    e1.printStackTrace();
   }
}