我在Test类里可以通过的
public class Testt { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
List list=new ListBean().getAll();
for(int i=0;i<list.size();i++){
User user=(User)list.get(i);
System.out.println(user.getEmail());
}
}}可是在action里就出现空指针异常了
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
List list=new ListBean().getAll();
for(int i=0;i<list.size();i++){
User user=(User)list.get(i);
System.out.println(user.getEmail());
}
return null;
}为什么呢

解决方案 »

  1.   

    public class ListBean { /**
     * @param args
     */
    public List getAll(){
    Connection con=null;
    PreparedStatement ps=null;
    ResultSet rs=null;
    List list = new ArrayList();
    con=DbConnection.getConnection();
    try {
    ps=con.prepareStatement("select * from [user]");
    rs=ps.executeQuery();
    while(rs.next()){
    User user=new User();
    user.setUsername(rs.getString(2));
    user.setUserpass(rs.getString(3));
    user.setEmail(rs.getString(4));
    list.add(user);
    }
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }finally{
    try {
    if(rs!=null){
    rs.close();
    rs=null;
    }
    if(ps!=null){
    ps.close();
    ps=null;
    }
    if(con!=null){
    con.close();
    con=null;
    }
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }

    return list;
    }
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    List lb=new ListBean().getAll();
    for(int i=0;i<lb.size();i++){
    User user=(User)lb.get(i);
    System.out.println(user.getEmail());
    }

    }}
      

  2.   

    java.lang.NullPointerException
    org.test.util.ListBean.getAll(ListBean.java:24)
    com.yourcompany.struts.action.PageAction.execute(PageAction.java:44)
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      

  3.   

    学习中遇到问题请到付费IT问答社区www.nlld.net,采用社会化网络运营,有专家负责彻底解决,网站所有纠纷依法解决
      

  4.   

    org.test.util.ListBean.getAll(ListBean.java:24)
    24行是哪行?
      

  5.   

    是不是对象 con 为空?如果con=DbConnection.getConnection();赋值时DbConnection.getConnection()值为空,则执行:
    ps=con.prepareStatement("select * from [user]");这一句时就会报错!建议楼主检查DbConnection.getConnection()的返回值是否为空?