2010-6-13 7:35:37 org.apache.struts.action.RequestProcessor processException
警告: Unhandled Exception thrown: class java.lang.NullPointerException
2010-6-13 7:35:37 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at com.action.MemberAction.insertMember(MemberAction.java:187)
at com.action.MemberAction.execute(MemberAction.java:36)
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:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619) String name = Chinese.toUnicode(request.getParameter("name")).trim();         
at com.action.MemberAction.insertMember(MemberAction.java:187)

解决方案 »

  1.   

    request.getParameter("name")估计是这个取出的值为空,trim()就空指针了
      

  2.   

    java.lang.NullPointerException
    at com.action.MemberAction.insertMember(MemberAction.java:187)
    用debug看看
      

  3.   

    看看这行代码 MemberAction.java:187应该是存在NULL值!
      

  4.   

    request.getParameter("name")楼主打印下这句话是不是NULL
      

  5.   

    在测试页面加句控制台输出 System.out.println();看看值为多少,这是最直观的。
      

  6.   

    空指针是使用了不存在对象的属性和方法。
    例如System.out.println();报空指针了,
    就要检查System和out是否会存在null的情况。
      

  7.   

    request.getParameter("name")  返回null?Chinese.toUnicode(request.getParameter("name"))     返回null?
    debug一下吧,很简单  
      

  8.   

    String name = Chinese.toUnicode(request.getParameter("name")).trim();把trim()去掉,用在这里纯属多此一举
    实在要用,也应该是下面这样用:String name = Chinese.toUnicode((request.getParameter("name")).trim());
      

  9.   

    看样子也是request.getParameter("name")没有获得值。
      

  10.   

    都有bug提示了,已经告诉你是空指针错误了,你先看看request.getParameter("name")取出来是什么值,对于null你调用哪些方法来操作肯定会报错的
      

  11.   

    空指针问题绝大多数的情况下是由不好的编程习惯造成的。对所有 public 方法传入的参数进行参数检查(比如:非空、参数范围等);
    对于其他地方来的数据,比如:从数据表中查出的数据也应进行非空检查。如果做到了以上两点,那基本上可以避免绝大部分的 NullPointerException
      

  12.   

    参数传递出错 ?
    导致 request.get....没能获取
      

  13.   

    空指针异常也要拿出来秀秀?
    给楼主一些建议:
                   1.debug
                   2.遇到问题后,自己先思考5分钟。
      

  14.   

    request.getParameter("name")  
    在页面上没有 name的表单。所以获取为空了。
    转换成下面的:
     String name = Chinese.toUnicode(request.getParameter("name"));
       name = (name != null ) ? name : "";
      

  15.   

    先判断request.getParameter("name")是否为null
    String name = request.getParameter("name");
    if(name != null){
        name = Chinese.toUnicode(name).trim();  
    } else{
        name = "";
    }