我在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;
}为什么呢
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;
}为什么呢
* @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());
}
}}
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)
24行是哪行?
ps=con.prepareStatement("select * from [user]");这一句时就会报错!建议楼主检查DbConnection.getConnection()的返回值是否为空?