首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

No bean named '' is defined,该如何处理

2012-01-11 
No bean named is defined在eclipse的控制台启动tomcat后,tomcat正常运行,可是通过tomcat访问页面时,to

No bean named '' is defined
在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)

向高手请指教错误的原因!

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


import 解析的类没有,No bean named ' ' is defined 说明tomacat没有解析到需要的类,查查类名称是否一致
[解决办法]
你的struts-config.xml中其中一个action没有配置name,也就是formbean
[解决办法]
我在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>

[解决办法]
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>
[解决办法]
找找是不是类名不对啊,如XxxAction,XxxForm
[解决办法]
配置漏了吧
[解决办法]
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/**=httpSessionContextIntegrationFilter,logoutFilter,authenticationProcessingFilter,
anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor

不能换行,你的错误是换行所致……
[解决办法]
再说一句,是各个过滤器之间不能换行哦^_^

热点排行