在eclipse的控制台启动tomcat后,tomcat正常运行,可是通过tomcat访问页面时,tomcat报如下的错误信息:
信息: Server startup in 11766 ms
2007-7-29 22:29:33 org.apache.catalina.core.ApplicationContext log
信息: HTMLManager: init: Associated with Deployer 'Catalina:type=Deployer,host=localhost'
2007-7-29 22:29:33 org.apache.catalina.core.ApplicationContext log
信息: HTMLManager: init: Global resources are available
2007-7-29 22:29:33 org.apache.catalina.core.ApplicationContext log
信息: HTMLManager: list: Listing contexts for virtual host 'localhost'
2007-7-29 22:29:36 org.apache.catalina.core.ApplicationContext log
信息: HTMLManager: list: Listing contexts for virtual host 'localhost'
 2007-07-29 22:29:37 ERROR [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/spring].[jsp]] - <Servlet.service() for servlet jsp threw exception>
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named '' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:360)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedBeanDefinition(AbstractBeanFactory.java:686)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:219)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:149)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:541)
at org.acegisecurity.util.FilterChainProxy.obtainAllDefinedFilters(FilterChainProxy.java:221)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:136)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
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:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
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:685)
at java.lang.Thread.run(Thread.java:595)向高手请指教错误的原因!

解决方案 »

  1.   

    在配一个类时,可能依赖另外一个类,但是你并没有配,对吗?
    具体可以看下你的.xml配置文档...good luck!~
      

  2.   

    import 解析的类没有,No bean named '' is defined 说明tomacat没有解析到需要的类,查查类名称是否一致
      

  3.   

    你的struts-config.xml中其中一个action没有配置name,也就是formbean
      

  4.   

    我在web.xml文件里面添加了acegi的配置,去掉acegi配置可以正常打开index.jsp页面。只有加上acegi的配置,进入项目就报上面的错误。
    下面是web.xml里面的acegi配置:
      <filter>
        <filter-name>Acegi Filter Chain Proxy</filter-name>
        <filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class>
        <init-param>
          <param-name>targetClass</param-name>
          <param-value>org.acegisecurity.util.FilterChainProxy</param-value>
        </init-param>
      </filter>
      <filter-mapping>
        <filter-name>Acegi Filter Chain Proxy</filter-name>
        <url-pattern>*.do</url-pattern>
      </filter-mapping>
      <filter-mapping>
    <filter-name>Acegi Filter Chain Proxy</filter-name>
    <url-pattern>*.jsp</url-pattern>
      </filter-mapping>
      <filter-mapping>
    <filter-name>Acegi Filter Chain Proxy</filter-name>
    <url-pattern>/j_acegi_security_check</url-pattern>
      </filter-mapping>  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      <listener>
        <listener-class>org.acegisecurity.ui.session.HttpSessionEventPublisher</listener-class>
      </listener>
      

  5.   

    applicationContext-acegi-security.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="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy">
          <property name="filterInvocationDefinitionSource">
             <value>
        CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
        PATTERN_TYPE_APACHE_ANT
                /**=httpSessionContextIntegrationFilter,logoutFilter,authenticationProcessingFilter,
                anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor
             </value>
          </property>
        </bean>

    <!-- Filter -->
    <bean id="httpSessionContextIntegrationFilter" class="org.acegisecurity.context.HttpSessionContextIntegrationFilter"/>    <bean id="logoutFilter" class="org.acegisecurity.ui.logout.LogoutFilter">
            <constructor-arg value="/login.jsp"/>
            <constructor-arg>
                <list>
                    <bean class="org.acegisecurity.ui.logout.SecurityContextLogoutHandler"/>
                </list>
            </constructor-arg>
            <property name="filterProcessesUrl" value="/logout.jsp"/>
        </bean>
        
       <bean id="authenticationProcessingFilter" class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
          <property name="authenticationManager"><ref bean="authenticationManager"/></property>
          <property name="authenticationFailureUrl"><value>/login.jsp?login_error=1</value></property>
          <property name="defaultTargetUrl"><value>/user.do?method=login</value></property>
          <property name="filterProcessesUrl"><value>/j_acegi_security_check</value></property>
       </bean>   <bean id="anonymousProcessingFilter" class="org.acegisecurity.providers.anonymous.AnonymousProcessingFilter">
          <property name="key"><value>foobar</value></property>
          <property name="userAttribute"><value>anonymousUser,AUTH_ANONYMOUS</value></property>
       </bean>  <bean id="exceptionTranslationFilter" class="org.acegisecurity.ui.ExceptionTranslationFilter">
    <property name="authenticationEntryPoint">
    <bean class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint">
    <property name="loginFormUrl" value="/login.jsp"/>
    <property name="forceHttps" value="false"/>
    </bean>
    </property>
      </bean>   <bean id="filterInvocationInterceptor" class="org.acegisecurity.intercept.web.FilterSecurityInterceptor">
          <property name="authenticationManager"><ref bean="authenticationManager"/></property>
          <property name="accessDecisionManager"><ref local="httpRequestAccessDecisionManager"/></property>
          <property name="objectDefinitionSource">
             <value>
        CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
        PATTERN_TYPE_APACHE_ANT
        /**/*.jpg=AUTH_ANONYMOUS,user,admin,bank,query
        /**/*.gif=AUTH_ANONYMOUS,user,admin,bank,query
        /**/*.png=AUTH_ANONYMOUS,user,admin,bank,query
        /**/*.js=user,admin,bank,query
        /**/*.css=AUTH_ANONYMOUS,user,admin,bank,query
        /login.jsp=AUTH_ANONYMOUS,user,admin,bank,query    
        /**=admin,user,bank,query
             </value>
          </property>
       </bean>   <bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager">
          <property name="providers">
             <list>
                <ref local="daoAuthenticationProvider"/>
             </list>
          </property>
       </bean>   <bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
          <property name="userDetailsService"><ref local="jdbcDaoImpl"/></property>
       </bean>  <bean id="httpRequestAccessDecisionManager" class="org.acegisecurity.vote.AffirmativeBased">
         <property name="allowIfAllAbstainDecisions"><value>false</value></property>
         <property name="decisionVoters">
            <list>
               <ref bean="roleVoter"/>
            </list>
         </property>
      </bean>  <bean id="roleVoter" class="org.acegisecurity.vote.RoleVoter">
        <property name="rolePrefix"><value></value></property>
      </bean>

      <bean id="jdbcDaoImpl" class="org.acegisecurity.userdetails.jdbc.JdbcDaoImpl">
    <property name="dataSource"><ref bean="dataSource"/></property>
    <property name="usersByUsernameQuery">
    <value>SELECT CZYBM, CZYMM,QYBZ FROM T_XT_CZY WHERE CZYBM=?
    </value>
    </property>
    <property name="authoritiesByUsernameQuery">
    <value>
        SELECT CZYBM,USERTYPE FROM T_XT_CZY WHERE CZYBM=? AND QYBZ=1      
    </value>
    </property>
      </bean>  
      <bean id="loggerListener" class="org.acegisecurity.event.authentication.LoggerListener"/> </beans>
      

  6.   

    找找是不是类名不对啊,如XxxAction,XxxForm
      

  7.   

    CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
        PATTERN_TYPE_APACHE_ANT
                /**=httpSessionContextIntegrationFilter,logoutFilter,authenticationProcessingFilter,
                anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor不能换行,你的错误是换行所致……
      

  8.   

    哇 我最近也在学ACEGI 也是这个问题 书上的例子就是换行的 咱就跟着换了 难道真是换行问题吗 如果真的是 那太损里 还得多谢楼上之人兄提醒哦
      

  9.   

    web.xml 没配置它也会报这错误!
    <context-param>
         <param-name>contextConfigLocation</param-name>
         <param-value>/WEB-INF/applicationContext.xml,/WEB-INF/acegi-config.xml</param-value>
    </context-param>