实现接口,代码:
public List querAll() throws Exception
{
List<User> all= new ArrayList<User>();
String sql="SELECT UserId, UserName, UserPwd, UserQx FROM User";
PreparedStatement pstmt = null;
DateBaseConn dbc=null;

try
{
  dbc = new DateBaseConn();
  pstmt = dbc.getConnection().prepareStatement(sql);
  
  ResultSet rs = pstmt.executeQuery();
   
  while (rs.next())
  {
  User user= new User();
  user.setUserId(rs.getString(1));
  user.setUserName(rs.getString(2));
  user.setUserPwd(rs.getString(3));
  user.setUserQx(rs.getString(4));
  
  all.add(User);
  }
  rs.close();
  pstmt.close();
}
catch (Exception e)
{
throw new Exception("操作出现异常") ;
}
finally
{
dbc.close();
}

return all; }调用:jsp中调用
<%
     UserDaoImpl usdoim =new UserDaoImpl(); 
      
     List allList = usdoim.querAll();
         
     Iterator iter = allList.iterator() ;
     
     while(iter.hasNext())
{
User user = (User)iter.next() ;
// 进行循环打印,打印出所有的内容,以表格形式
// 从数据库中取出内容
%>
      <td><%=user.getUserId() %></td>
      <td><%=user.getUserName() %></td>
      <td><%=user.getUserPwd() %></td>
      <td><%=user.getUserQx() %></td>  
     <%
     }
      %>
     

解决方案 »

  1.   

    在接口中都能取到值,在jsp中就没有值了!是不是一实例化就没有值了呢?UserDaoImpl usdoim =new UserDaoImpl();  那也不可能啊!,谁帮忙解决一下
      

  2.   

    第一句空就是说new出来的对象是个null?
    那你去看看构造函数里面怎么写的。还有接口是不能被实例化的(就算实例化也没有意义),
    只有申明一个接口然后用它的实现类去实例化。
    比如:List l = new List();       错误
          List l = new ArrayList();  正确
      

  3.   

    jsp页面上的代码是没有问题的.
    应该是从数据库里根本就没查出数据.
      

  4.   

    我现在完整的把问题说一遍:在A页面的jsp代码中:
    <body>        
       <a href="web/list.jsp">查询全部用户</a>  
     </body>调用list.jsp页面    
    查询并显示全部用户:
     <body>
      <% 
         UserDaoImpl usdoim =new UserDaoImpl();  
           
         List allList = usdoim.querAll(); 
              
         Iterator iter = allList.iterator() ; 
          
         while(iter.hasNext()) 
      { 
    User user = (User)iter.next() ; 
    // 进行循环打印,打印出所有的内容,以表格形式 
    // 从数据库中取出内容 
    %> 
           <h1><%=user.getUserId() %></h1> 
           <h1> <%=user.getUserName() %> </h1> 
           <h1> <%=user.getUserPwd() %> </h1> 
           <h1> <%=user.getUserQx() %> </h1>   
          <% 
         } 
          %>     
      </body>
    </html>在User user = (User)iter.next() ; 
    时出现空异常!请问一下什么问题!
      

  5.   

    别老叫空异常,trace给出来看看,那是最直观的错误
      

  6.   

    我在实现接口类中加入打印说句,也打印出来了,取出数据,但在List.jsp中出现空异常!
    public List querAll() throws Exception
    {
    List<User> all= new ArrayList<User>();
    String sql="SELECT UserId, UserName, UserPwd, UserQx FROM User";
    PreparedStatement pstmt = null;
    DateBaseConn dbc=null;

    try
    {
      dbc = new DateBaseConn();
      pstmt = dbc.getConnection().prepareStatement(sql);
      
      ResultSet rs = pstmt.executeQuery();
       
      while (rs.next())
      {
      User user= new User();
      user.setUserId(rs.getString(1));
      System.out.println(rs.getString(1));
      user.setUserName(rs.getString(2));
      System.out.println(rs.getString(2));
      user.setUserPwd(rs.getString(3));
      System.out.println(rs.getString(3));
      user.setUserQx(rs.getString(4));
      System.out.println(rs.getString(4));
      
      all.add(User);
      }
      rs.close();
      pstmt.close();
    }
    catch (Exception e)
    {
    throw new Exception("操作出现异常") ;
    }
    finally
    {
    dbc.close();
    }

    return all; }打出的东西!
    2008-4-16 15:45:47 org.apache.catalina.startup.Catalina start
    信息: Server startup in 8547 ms
    1
    bill
    bill
    1
    2
    franck
    franck
    1
    3
    suzi
    suzi
    1
    4
    by
    by
    1
    而在list.jsp  中出现空异常,百思不得其解,讲高手指教:
     </head>
      
      <body>
      <% 
         UserDaoImpl usdoim =new UserDaoImpl();  
           
         List allList = usdoim.querAll(); 
              
         Iterator iter = allList.iterator() ; 
          
         while(iter.hasNext()) 
      { 
    User user = (User)iter.next() ; 
    // 进行循环打印,打印出所有的内容,以表格形式 
    // 从数据库中取出内容 
    %> 
           <h1><%=user.getUserId() %></h1> 
           <h1> <%=user.getUserName() %> </h1> 
           <h1> <%=user.getUserPwd() %> </h1> 
           <h1> <%=user.getUserQx() %> </h1>   
          <% 
         } 
          %>     
      </body>
    </html>
      

  7.   

    楼上的高手,请问一下什么是trace     我真的不懂,请指教:
      

  8.   

    就是jsp出错了以后,tomcat窗口上一片一片的那些错误信息
      

  9.   

    type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause java.lang.NullPointerException
    org.apache.jsp.web.list_jsp._jspService(list_jsp.java:94)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.0.27 logs.
      

  10.   

    到你的tomcat/work/....../list_jsp.java去看看94行是什么
      

  11.   


         UserDaoImpl usdoim =new UserDaoImpl();  
           
         List allList = usdoim.querAll(); 
              
         Iterator iter = allList.iterator() ; 
          
         while(iter.hasNext()) 
      { 
    User user = (User)iter.next() ; 
    // 进行循环打印,打印出所有的内容,以表格形式 
    // 从数据库中取出内容 

          out.write(" \r\n");
          out.write("       <h1>");
    94      out.print(user.getUserId() );
          out.write("</h1> \r\n");
          out.write("       <h1> ");
          out.print(user.getUserName() );
          out.write(" </h1> \r\n");
          out.write("       <h1> ");
          out.print(user.getUserPwd() );
          out.write(" </h1> \r\n");
          out.write("       <h1> ");
          out.print(user.getUserQx() );
          out.write(" </h1>   \r\n");
          out.write("      ");
     
         } 
          
          out.write(" \r\n");
          out.write("\r\n");
          out.write("    \r\n");
          out.write("  </body>\r\n");
          out.write("</html>\r\n");
      

  12.   

    user.getUserId()出错,user是空的?看你的代码应该不会空的哦
      

  13.   

    我也刚学JSP没看出那地方有错误。。.把tomcat下的项目删了重新发布下看看~没刷新?
      

  14.   

    分不够了,到J2EE区上有同样的贴子 40分   合计60分
      

  15.   


    public List querAll() throws Exception
    {
    List<User> all= new ArrayList<User>();
    。。 return all;
    }
      

  16.   

    楼主跟踪下JSP看看具体是哪句的异常 
      

  17.   

    你不到jsp上试试你的那个dao可以用不?
      

  18.   

    看这个是查出来的List是空的。
    建议在迭代List时,先判断List是否为空 UserDaoImpl usdoim =new UserDaoImpl();  
           
         List allList = usdoim.querAll(); 
         if(allList !=null&&allList .size()>0){
         Iterator iter = allList.iterator() ; 
          
         while(iter.hasNext()) 
      { 
    User user = (User)iter.next() ; 
    // 进行循环打印,打印出所有的内容,以表格形式 
    // 从数据库中取出内容       out.write(" \r\n");
          out.write("        <h1>");
    94      out.print(user.getUserId() );
          out.write(" </h1> \r\n");
          out.write("        <h1> ");
          out.print(user.getUserName() );
          out.write("  </h1> \r\n");
          out.write("        <h1> ");
          out.print(user.getUserPwd() );
          out.write("  </h1> \r\n");
          out.write("        <h1> ");
          out.print(user.getUserQx() );
          out.write("  </h1>   \r\n");
          out.write("      ");
     
         } 
          
          out.write(" \r\n");
          out.write("\r\n");
          out.write("    \r\n");
          out.write("   </body>\r\n");
          out.write(" </html>\r\n");
      

  19.   

    java.lang.NullPointerException 
    org.apache.jsp.web.list_jsp._jspService(list_jsp.java:94) 
    到tomcat上面找到 
     楼上的
     user.setUserId(rs.getString(1)); 
      System.out.println(rs.getString(1)); 
      user.setUserName(rs.getString(2)); 
      System.out.println(rs.getString(2)); 
      user.setUserPwd(rs.getString(3)); 
      System.out.println(rs.getString(3)); 
      user.setUserQx(rs.getString(4)); 
      System.out.println(rs.getString(4)); 
       
    是不是set的时候就有错误了!
      怎么不用jstl语言?
     你在页面中打印你的list 看是不是未空,又没有set出去
     request.setAttribute("list",list);
      

  20.   

    很有可能
         UserDaoImpl usdoim =new UserDaoImpl();  
         List allList = usdoim.querAll(); 

    楼主把这2行弄到页面的头部去
    再检查user这个BEAN里的get和set方法是否重写了
      

  21.   


    净扯淡,list是空的话Iterator iter = allList.iterator() ;  就报错了
      

  22.   

    应该是list里 有一个user是空的
    或者user里的那个字段是空的  数据库字段有空值
      

  23.   

    重复一下问题:实现接口,代码: 
    public List querAll() throws Exception 

    List <User> all= new ArrayList <User>(); 
    String sql="SELECT UserId, UserName, UserPwd, UserQx FROM User"; 
    PreparedStatement pstmt = null; 
    DateBaseConn dbc=null; try 

      dbc = new DateBaseConn(); 
      pstmt = dbc.getConnection().prepareStatement(sql); 
       
      ResultSet rs = pstmt.executeQuery(); 
        
      while (rs.next()) 
      { 
      User user= new User(); 
      user.setUserId(rs.getString(1)); 
      user.setUserName(rs.getString(2)); 
      user.setUserPwd(rs.getString(3)); 
      user.setUserQx(rs.getString(4)); 
       
      all.add(User); 
      } 
      rs.close(); 
      pstmt.close(); 

    catch (Exception e) 

    throw new Exception("操作出现异常") ; 

    finally 

    dbc.close(); 
    } return all; } 调用:jsp中调用 
    <% 
         UserDaoImpl usdoim =new UserDaoImpl();  
           
         List allList = usdoim.querAll(); 
              
         Iterator iter = allList.iterator() ; 
          
         while(iter.hasNext()) 

        User user = (User)iter.next() ; //出错的地方   空异常
        // 进行循环打印,打印出所有的内容,以表格形式 
        // 从数据库中取出内容 
    %> 
           <td> <%=user.getUserId() %> </td> 
           <td> <%=user.getUserName() %> </td> 
           <td> <%=user.getUserPwd() %> </td> 
           <td> <%=user.getUserQx() %> </td>   
          <% 
         } 
          %> 
      

  24.   

    我自己找出来了,为什么会出现空异常!! all.add(User);  应为all.add(user);