list.size()服务器抛出NullPointerException 请高手帮帮忙 谢谢!!!!

selvet代码如下:在myEclopse里没有提示错误packageselvet;importjava.awt.List;importjava.io.IOExcepti... selvet代码如下:在myEclopse 里没有提示错误
package selvet;

import java.awt.List;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.yznu.action.tableentiy;
import cn.yznu.bean.User;

public class table extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Connection conn;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/table", "root", "123");
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select * from table");
ArrayList list= new ArrayList();
while(rs.next())
{
tableentiy tb=new tableentiy();
tb.initForm(rs);
list.add(tb);
}
request.setAttribute("list", list);
} catch (Exception e) {
e.printStackTrace();
}

}

}

在jsp页面 也没有提示错误 但是在访问jsp页面的时候出现了错误 出现了 上面的NullPointerExecption

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="cn.yznu.action.tableentiy" %>
<%@page import="selvet.*" %>
<html>
<head>
<title></title>
</head>
<body>
<from action="servlet/table" method="post" >
<table>
<%List list=(List)request.getAttribute("list"); %>
<%for(int i=0;i<list.size();i++){
tableentiy tb=(tableentiy)list.get(i);
%>
<tr>
<td>ID: <%=tb.getId()%></td>
<td>Name:<%=tb.getName() %></td>
</tr>
<%} %>
</table>
</from>
</body>
</html>

错误为:java.lang.NullPointerException
org.apache.jsp.table_jsp._jspService(table_jsp.java:70)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

我错在那里了 请指点一下

那个tableentiy tb=new tableentiy(); 是实体类 就id 和name
tb.initForm(rs);是把数据库里的数据写到实体的方法
展开
 我来答
梦睡油0H
2011-05-05 · 贡献了超过288个回答
知道答主
回答量:288
采纳率:0%
帮助的人:18.7万
展开全部
这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效... 点击进入详情页
本回答由Storm代理提供
匿名用户
推荐于2016-02-07
展开全部
你好! 你的问题解决代码如下:
<body>
<form id="form1" name="form1" method="post" action="?action=s1">
<input type="text" name="text1">
<input type="submit" value="add vote item">
</form>
<%--单击 ADD VOTE ITEM时,将表单的信息保存在一个session中 --%>
<% String action;
action=request.getParameter("action");
out.println("action:"+action);
if(action!=null){
if(action.equals("s1")){
List list=null;
if(session.getAttribute("list")==null){
list=new ArrayList();
}
else {
list=(ArrayList)session.getAttribute("list");
}
list.add(request.getParameter("text1"));
session.setAttribute("list",list);
}
}
%>
<%--从session中取出信息添加在页面 --%>
<%List list=(List)session.getAttribute("list");
String all="";
for(int i=0;i<list.size();i++){
all=(String)list.get(i);
%>item name:<input type="text" name="all" value="<%=all%>"/>
<%
}
%>
</body>

首先在你进入该页面时,加载出现空指针异常.
因为在加载页面时action的值是为空的.
而你用if(action.equals("s1")){
} //则会抛出异常.
当你点击表单提交时action才会获取值s1.
所以在你还没提交页面之前先加上一个判断
if(action!=null)就不会报异常了.
另外,站长团上有产品团购,便宜有保证
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tan4856423
2011-05-13 · TA获得超过170个赞
知道小有建树答主
回答量:241
采纳率:100%
帮助的人:205万
展开全部
我只说一句,debug
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式