有个问题请教一下 我用struts写了一个东西  数据库连接没问题  像登录、注册这些操作都能正常完成  可是用到查询数据库表的时候出现问题了 查询的方法名为public ArrayList queryUser() ArrayList下面出现黄色的波浪线  点到上面显示:ArrayList is a raw type. References to generic type ArrayList<E> should be 
 parameterized  我注意到这个方法根本执行不了 结果是出现了空指针异常java.lang.NullPointerException 不知道怎么解决 各位老大帮我分析一下

解决方案 »

  1.   

    黄色波浪线是警告的意思,是说你没有使用泛型结构。这个可以不用管。
    主要的原因是空指针异常,根据提示异常的行号,对应去找,通过debug方式看看那个对象是null。然后进行了对象调用方法。
      

  2.   

    设断点 debug调试 看哪里出现了空
      

  3.   

    报错信息如下:
    严重: Servlet.service() for servlet jsp threw exception
    java.lang.NullPointerException
    at org.apache.jsp.query_005fall_jsp._jspService(query_005fall_jsp.java:114)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at encoding.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:22)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source)
      

  4.   

    这个是我的查询方法,但是根本执行不了public ArrayList queryUser()
    {
    ArrayList stus = new ArrayList();
    String sql = "select * from kinglds.dbo.news_information";

    try
    {
    this.initConnection();
    ResultSet rs = conn.createStatement(1004,1007).executeQuery(sql);
    while(rs.next())
    {
    ConnectionInforationForm cif = new ConnectionInforationForm ();
    cif.setId(rs.getString("id"));
    cif.setUsername(rs.getString("username"));
    cif.setTitle(rs.getString("title"));
    cif.setType(rs.getString("type"));
    cif.setContent(rs.getString("content"));
    cif.setUpdatetime(rs.getString("updatetime"));
    stus.add(cif);

    }
    }
    catch(Exception ex)
    {
    ex.printStackTrace();
    }
    finally
    {
    this.closeConnection();
    }
    return stus;
    }
      

  5.   

    1.打断点调试一下  
    看是哪里没有取到值2.把sql放到数据库执行一下 看有没有数据 3.query_005fall_jsp.java:114 到编译后的页面文件里看下这个文件 114行 检查下
      

  6.   

    找到query_005fall_jsp.java这个文件(Tomcat5.0----work-----Catalina-----localhost----项目名称),看看114行代码,114行报的空指针
      

  7.   

    这个警告和空指针异常没有关系 
    好象在几点几以后 就引入了泛式的概念 
    简单的说 就是 将 ArrayList stus = new ArrayList();
    改为 ArrayList<被储存的数据类型> stus = new ArrayList<被储存的数据类型>();
    如: ArrayList<String> stus = new ArrayList<String>();
      

  8.   

    java.lang.NullPointerException
    at org.apache.jsp.query_005fall_jsp._jspService(query_005fall_jsp.java:114)这句很重要,好好看看114行怎么写的,可以打印出变量值看看。
    实在不行你把这段代码发出来。
      

  9.   

    你这问题好像是出现在jsp页面上的,去检查哈页面  
      

  10.   

    根本找不到query_005fall_jsp.java这个文件啊  这个文件不是我写的。
      

  11.   

    可能是jsp写得有问题 仔细检查下你写的jsp
      

  12.   

    看看你的action中怎么传参数的,jsp页面怎么接收参数的,应该是参数传递时的错误。jsp页面没接收到参数。
      

  13.   


    这个是根据jsp页面自动生成的。在eclipse里面找不到,你用windows文件搜索找一下
      

  14.   

    at org.apache.jsp.query_005fall_jsp._jspService(query_005fall_jsp.java:114)
    搜索这个文件,看看你用的方法哪里用到114行的变量了