【问题标题】:null pointer exception occuring in java servletjava servlet中发生空指针异常
【发布时间】:2012-04-18 06:31:02
【问题描述】:

我正在开发一个评论论坛,人们会在发布后发表评论并看到他们的 cmets,但我收到的是null pointer exception in servlet

index.jsp

<form action="Comment" method="post">

  <textarea style="resize: none;" cols="30" rows="3" id="myTextarea" name="myTextarea"></textarea>

</form>

评论小服务程序

  try{
    String comment=request.getParameter("myTextarea");

       ArrayList al1=null;
        ArrayList emp_list =new ArrayList();
         al1.add(comment);       
         emp_list.add(al1);                 
         request.setAttribute("empList",emp_list);        
        String nextJSP = "/result.jsp";
       RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
      dispatcher.forward(request,response);
    }       
    catch(Exception e){       
    out.println("exception"+e);//exception coming 

    }

【问题讨论】:

    标签: java jsp servlets nullpointerexception


    【解决方案1】:

    当您尝试添加到 al1 时,您的 al1 将为空:

    ArrayList al1=null;
    ArrayList emp_list =new ArrayList();
    al1.add(comment); 
    

    尝试将第一行更改为:

    ArrayList al1 = new ArrayList();
    

    这将导致将数组列表中的数组列表转发到您的下一个 jsp 页面。这样做可能更简单:

    ArrayList emp_list =new ArrayList();
    emp_list.add(comment); 
    

    ...并完全删除变量al1

    【讨论】:

    • 是的,这解决了问题,我只需要很少的帮助,我怎样才能在result.jsp 中得到这个emp_list.add(comment)?我会得到多个 cmets 吗?
    • 您对setAttribute 的调用应使其成为您可以在result.jsp 中访问的请求参数。不,您将在参数empList 的数组中得到一条注释。
    • 是的,我只收到一条评论,如果我输入不同的评论,它会被替换,我怎样才能获得多个 cmets?请帮帮我
    • @sujit - 很大程度上取决于代码的其他部分。通常,您只需将评论写入此处理程序中的数据库,然后从那里读取列表以显示在结果页面中。您能否创建另一个问题,对数据所采用的路径进行更多解释?
    【解决方案2】:

    你的 al1 数组列表被实例化为空! 试试

    ArrayList<String> al1 = new ArrayList<String>();
    al1.add(comment);
    

    【讨论】:

    • 我已添加string comment to al1 by al1.add(comment)
    • 当您调用 al1.add(comment) 时,您不会将字符串添加到 arraylist 对象,而是将“comment”添加到“null”,因为您实例化了 al1 = null;
    【解决方案3】:

    老兄,您将引用分配给空值。那就是al1.add(),用new给它分配内存,它会解决你的问题.......享受........

    【讨论】:

      猜你喜欢
      • 2011-10-19
      • 2011-07-28
      • 1970-01-01
      • 2013-08-01
      • 1970-01-01
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多