2013-7-8 19:48:14 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1235)
at java.text.DateFormat.parse(DateFormat.java:335)
at com.gem.daoImpl.OrderInfoDaoImpl.saveOrderInfo(OrderInfoDaoImpl.java:44)
at com.shop.struts.action.OrderInfoListAction.save(OrderInfoListAction.java:62)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Servlet异常

解决方案 »

  1.   

    1 首先的问问题有问题,只发出异常stack,都没有代码,别人怎么帮你分析。
    2 就算帮你看,SimpleDateFormat的1235行 java版本1.6 27 根本就没有该行。你也说一下jdk的帮本。NullPointerException 是最好分析的一个问题之一,找到对应的行数,发现那个对象为null,然后调查该对象问什么是null, 要学会调查方法。不是有问题直接就发帖,这种问题要学会自己调查,才能提高。
      

  2.   

    你的simpleDateFormat没有实例化吧,仔细检查检查
      

  3.   

    可是其他类中也有相同的代码啊!为什么运行其他的java类就不报错呢??
      

  4.   

    设断点debug一下就知道啦。
    这个异常应该是用了一个空的对象(未实例化的对象)。
      

  5.   


    debug 很容易看到null了。
      

  6.   


    debug 很容易看到null了。+1
      

  7.   

    应该是你parse日期的时候传递的那个参数没有值,你把你传进去需要parse的那个String变量打印出来,看看是不是空的。
      

  8.   

    这个要DEBUG一下,,没有代码 别人帮你看不了啊,,,,debug就知道哪个对象是Null了
      

  9.   

    对呀  这种问题一般debug出空对象就好嘞~
      

  10.   


    应该是  com.gem.daoImpl.OrderInfoDaoImpl.saveOrderInfo(OrderInfoDaoImpl.java:44) 这句。。
    OrderInfoDaoImpl这个类的 44行看看  日期格式转换错误。。
      

  11.   

    try catch一下 一步步的debug 就查找到哪个变量是空值了 
      

  12.   

    建议你用debug模式,从dao层往前一步一步的查找,你这给出的信息也看不出哪里出错了。
      

  13.   

    你把实例化SimpleDateFormat对象的那行代码贴出来看看
      

  14.   

    at com.gem.daoImpl.OrderInfoDaoImpl.saveOrderInfo(OrderInfoDaoImpl.java:44)
    这句话是关键。
    daoImpl.OrderInfoDaoImpl()这个方法返回值是null.
      

  15.   

    上面几楼说的都蛮清楚的,应该是OrderInfoDaoImpl类的44行,在调用DateFormat中的parse方法时,传入的字符串参数为null,导致了这个异常的发生。
    最好在涉及到日期转换的时候,都加些异常性的值判断比较好。个人觉得-  -