求教 急!!!
DBManager db = new DBManager();
db.openDB();
try {
ResultSet rs = db.query(sql);
while (rs.next()) {
MotifPO motif = new MotifPO();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date date = rs.getTime("oTime");
motif.setOTime(formatter.format(date).toString()
} catch (SQLException e) {
e.printStackTrace();
}
报以下错误2008-3-16 10:58:20 org.apache.struts.action.RequestProcessor processException
警告: Unhandled Exception thrown: class java.lang.NullPointerException
DBManager db = new DBManager();
db.openDB();
try {
ResultSet rs = db.query(sql);
while (rs.next()) {
MotifPO motif = new MotifPO();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date date = rs.getTime("oTime");
motif.setOTime(formatter.format(date).toString()
} catch (SQLException e) {
e.printStackTrace();
}
报以下错误2008-3-16 10:58:20 org.apache.struts.action.RequestProcessor processException
警告: Unhandled Exception thrown: class java.lang.NullPointerException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
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:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:670)
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:637)
org.apache.jsp.index_jsp._jspService(index_jsp.java:51)
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)
root cause java.lang.NullPointerException
java.util.Calendar.setTime(Calendar.java:1032)
java.text.SimpleDateFormat.format(SimpleDateFormat.java:785)
java.text.SimpleDateFormat.format(SimpleDateFormat.java:778)
java.text.DateFormat.format(DateFormat.java:314)
com.huang.database.dao.MotifDAO.findAll(MotifDAO.java:51)
com.huang.service.MotifService.findAll(MotifService.java:12)
com.huang.action.ListAction.execute(ListAction.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:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:670)
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:637)
org.apache.jsp.index_jsp._jspService(index_jsp.java:51)
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.28 logs.
2008-3-16 11:31:22 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/47 config=C:\Tomcat 5.0\conf\jk2.properties
2008-3-16 11:31:22 org.apache.catalina.startup.Catalina start
信息: Server startup in 6203 ms
2008-3-16 11:31:34 org.apache.struts.action.RequestProcessor processException
警告: Unhandled Exception thrown: class java.lang.NullPointerException
Date date = rs.getTime("oTime");
formatter.format(date).toString();
获取到的结果是正确的
但一给motif赋值就错了
motif.setOTime(formatter.format(date).toString() );
我做了一个试验
SimpleDateFormat date = new SimpleDateFormat("yyyy-mm-dd");
date.format(null);
java.util.Calendar.setTime(Calendar.java:1070)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:859)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:852)
at java.text.DateFormat.format(DateFormat.java:316)
是不是和你的错一样?
注意你的错是
java.lang.NullPointerException
空指针异常
对于是不是这行出错我也有异议
离出错代码最近的你的代码是
com.huang.database.dao.MotifDAO.findAll(MotifDAO.java:51)
MotifDAO类的第51行
你仔细看一下,这里调用的format方法参数是不是null,或者是循环调用,其中一个是null
如果参数是null,会出现以上异常
除此之外,别无可能。详情可以看jdk源码