今晚搞了一个用户登录,没改正这个bug。求高手指正。
错误提示:
2013-4-30 22:12:53 org.apache.struts.util.RequestUtils createActionForm
警告: No FormBeanConfig found under 'managerForm'
java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:418)
at java.util.Properties.load0(Properties.java:337)
at java.util.Properties.load(Properties.java:325)
at com.core.ConnDB.<init>(ConnDB.java:19)
at com.dao.ManagerDAO.<init>(ManagerDAO.java:8)
at com.action.Manager.<init>(Manager.java:14)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:143)
at org.apache.struts.action.RequestProcessor.processActionCreate(RequestProcessor.java:292)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:230)
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)
2013-4-30 22:12:54 org.apache.struts.action.RequestProcessor processException
警告: Unhandled Exception thrown: class java.lang.NullPointerException
2013-4-30 22:12:54 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at com.action.Manager.managerLogin(Manager.java:34)
at com.action.Manager.execute(Manager.java:24)
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)
配置文件是这样:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
  <data-sources />
  <form-beans >
  <form-bean name="ManagerForm" type="com.actionForm.ManagerForm"/>
  </form-beans>
  <global-exceptions />
  <global-forwards />
  <action-mappings type="org.apache.struts.action.ActionMapping" >
    <action name="managerForm" path="/manager" scope="request" type="com.action.Manager" validate="true">
   <forward name="error" path="/error.jsp" />
   <forward name="managerLoginok" path="/Mindex.jsp"/>
   
   
  </action>
  </action-mappings>
  <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>

解决方案 »

  1.   

    空指针了。。
    你断点看看at com.action.Manager.managerLogin(Manager.java:34) 这个类34行 哪个是null.
      

  2.   

    红色部分就是34行。。怎么改,为什么会 是空值呢// 管理员身份验证 public ActionForward managerLogin(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    ManagerForm managerForm = (ManagerForm)form;
    System.out.print("zheli1111");
    managerForm.setU_name(managerForm.getU_name());
    managerForm.setU_pwd(managerForm.getU_pwd());

    int ret = managerDAO.checkManager(managerForm);
    if (ret == 1) {
    HttpSession session = request.getSession();
    session.setAttribute("manager", managerForm.getU_name());
    return mapping.findForward("managerLoginok");
    } else {
    request.setAttribute("error", "您输入的管理员名称或密码错误!");
    return mapping.findForward("error");
    }
    }
      

  3.   

     <form-bean name="ManagerForm" type="com.actionForm.ManagerForm"/><action name="managerForm" path="/manager" scope="request" type="com.action.Manager" validate="true"><form-bean> 的name和<action>的name配的不一样
      

  4.   

    警告: No FormBeanConfig found under 'managerForm'
    java.lang.NullPointerException
    at com.action.Manager.managerLogin(Manager.java:34)
    应该是参数问题!
      

  5.   

    你的struts-config是自动生成的吗
      

  6.   

    应该是参数的问题,好好看name
      

  7.   

    是我自己写的,谢谢你了,我的bug昨晚搞好了,正如3#所说,就是配置的name写的不一致。
      

  8.   

    应该是参数的问题,好好看name对的,改过来就好了,。谢谢你