当前位置:编程学习 > JAVA >>

struts中的空指针异常。。。求解。。

严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at com.newer.action.OperatorAction.AddCompanyInfo(OperatorAction.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:233)
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:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)


这是代码。。。
public ActionForward AddCompanyInfo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
CompanyForm forms=(CompanyForm) form;
String comp_name=forms.getCompanybean().getComp_name();
String comp_tel=forms.getCompanybean().getComp_tel();
String comp_email=forms.getCompanybean().getComp_email();
String comp_desc=forms.getCompanybean().getComp_desc();
String comp_address=forms.getCompanybean().getComp_address();

CompanyBean bean=new CompanyBean();
bean.setComp_address(comp_address);
bean.setComp_desc(comp_desc);
bean.setComp_email(comp_email);
bean.setComp_name(comp_name);
bean.setComp_tel(comp_tel);

if(company.insertCompanyInfo(new C3P0Util().getConnection(), bean)){
return mapping.findForward("addCompanysuccess");
}
else{
return mapping.findForward("addCompanyfalse");
}

} --------------------编程问答-------------------- OperatorAction.java:62
这是哪一句代码啊???
    这句有问题、!你调试一下! --------------------编程问答-------------------- 这什么代码。。。。
   CompanyForm forms=(CompanyForm) form;
if(company.insertCompanyInfo(new C3P0Util().getConnection(), forms.getCompanybean())){
return mapping.findForward("addCompanysuccess");
}
这样就可以了,何必写那么多
 空指针
  1 很可能就在你bean附值的时候报出来的
  2 insertCompanyInfo 方法插入数据库的时候,不排除空指针,但直接带forms的bean 进去,应该是不会报空指针,应该是可以附值null的。。。。
--------------------编程问答--------------------
引用 1 楼 hzw2312 的回复:
OperatorAction.java:62
这是哪一句代码啊???
    这句有问题、!你调试一下!


确定这个类里的62行是哪句~ --------------------编程问答-------------------- at com.newer.action.OperatorAction.AddCompanyInfo(OperatorAction.java:62)//在这句前面一句打断点,然后按F6点一下,看62行是什么值?这一句空指针了
--------------------编程问答-------------------- 保存数据的时候,对象中的某个必填的字段为空了。62行 --------------------编程问答-------------------- 某个字段为空了,而数据库里这个字段是不准为空的。。。。 --------------------编程问答-------------------- 看一下62行是哪一行 --------------------编程问答-------------------- CompanyForm 中对象实例化了没有啊????
补充:Java ,  Java EE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,