=========================我包的错误===========================exception javax.servlet.ServletException: Servlet.init() for servlet Dispatcher threw exception
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:595)
root cause org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'LoginAction' defined in ServletContext resource [/WEB-INF/Dispatcher-servlet.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'java.lang.Class commandClass' of bean class [net.xiaxin.action.LoginAction]: Nested property in path 'java.lang.Class commandClass' does not exist; nested exception is org.springframework.beans.NotReadablePropertyException: Invalid property 'java' of bean class [net.xiaxin.action.LoginAction]: Bean property 'java' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1032)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:824)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:345)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:555)
org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.registerHandler(AbstractUrlHandlerMapping.java:186)
org.springframework.web.servlet.handler.SimpleUrlHandlerMapping.initApplicationContext(SimpleUrlHandlerMapping.java:96)
org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:79)
org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:84)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:248)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:362)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:275)
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:320)
org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:305)
org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:250)
org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:219)
org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:112)
javax.servlet.GenericServlet.init(GenericServlet.java:211)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:595)

解决方案 »

  1.   

    Dispatcher-servlet.xml 第一个是错误的  <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
     "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
      <bean id="viewResolver"
         class="org.springframework.web.servlet.view.InternalResourceViewResolver">
         <property name="viewClass">
          <value>org.springframework.web.servlet.view.JstlView</value>
         </property>
         <property name="prefix">
           <value>/WEB-INF/view</value>
         </property>
         <property name="suffix">
           <value>.jsp</value>
         </property>     
      </bean>
      
      <bean id="urlMapping"
         class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
          <property name="mappings">
            <props>
              <prop key="/login.do">LoginAction</prop>
            </props>
          </property>     
      </bean>
      
      <bean id="LoginAction" class="net.xiaxin.action.LoginAction">    
           <property name="commandClass">
                <value>net.xiaxin.action.LoginInfo.java</value>
          </property>      
          <property name="fail_view">
            <value>loginfail</value>
          </property>
          <property name="success_view">
            <value>main</value>
          </property>
      </bean>  
    </beans>
      

  2.   

    很明顯:LoginAction 不存在 commandClass這個屬性,你可以檢查LoginAction定義
      

  3.   

    <bean  id=  "LoginAction  "  class=  "net.xiaxin.action.LoginAction  " >          
         <property  name=  "commandClass  "  >  
                   <value  >net.xiaxin.action.LoginInfo.java  </value  >  
         </property  >  
    关键就是这......不懂!但是 书上说
    commandClass 源于  LoginAction 的基类BaseCommandController但是错误信息提示我要有这个属性,和get,set方法
    那位高人请指点一下
      

  4.   

    <bean  id=  "LoginAction  "  class=  "net.xiaxin.action.LoginAction  " >          
         <property  name=  "commandClass  "  >  
                   <value  >net.xiaxin.action.LoginInfo.java  </value  >  
         </property  >  我想这句话的作用就是把我从页面上得到数据set到LoginInfo.java里面。
    但是他报错我就晕了。应该怎么解决呢?
      

  5.   

    我的那个,LoginAction 应该继承一个控制类,但是我不知道应该继承哪一个??