高手请进,有关空异常

billfranck 2008-04-16 05:50:30
在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() ;
时出现空异常!



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



错误提示:
type Exception report

message

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.



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

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");

...全文
129 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lisl2003 2008-04-18
  • 打赏
  • 举报
回复
留名,为什么我的头像不显示?
billfranck 2008-04-18
  • 打赏
  • 举报
回复
我自己找出来了,为什么会出现空异常!! all.add(User); 应为all.add(user);
billfranck 2008-04-17
  • 打赏
  • 举报
回复
没人!
ahua3515 2008-04-17
  • 打赏
  • 举报
回复
all.add(User);
这个也能通过?User你这里可是大写的U
NONE9 2008-04-16
  • 打赏
  • 举报
回复
rs.getString("里面最好写表的字段"));
whmjxa 2008-04-16
  • 打赏
  • 举报
回复
输出每一个变量,看看哪个是空值
kingssq 2008-04-16
  • 打赏
  • 举报
回复
页面里面while(iter.hasNext())进去了,说明你的list中有值,所以可以判断是加了null进去。
你看看你的数据库中是否有空的东西。
billfranck 2008-04-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 java2000_net 的回复:]
usdoim.querAll();

去看看里面到底干了什么?

为什么把 null 加入到 list 了!
[/Quote]

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;

}

把 null 加入到 list 了????不明白
老紫竹 2008-04-16
  • 打赏
  • 举报
回复
usdoim.querAll();

去看看里面到底干了什么?

为什么把 null 加入到 list 了!

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧