java - spring Bean 创建异常 Error creating bean with name

标签 java spring spring-mvc

大家好,我是 Spring 的新手,请解决我的问题,我遇到了 bean 创建异常,这是我的代码(我在动态 Web 项目中创建的)我正在尝试做一个简单的 Springmvc 项目。

文件名:login.jsp

<form action="login.do" method="post">
username<input type="text" name="username"/>
password<input type="password" name="password"/>
<input type="submit" value="login"/>
</form>   

文件名:web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">

  <servlet>
  <servlet-name>loginapp</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>loginapp</servlet-name>
  <url-pattern>*.do</url-pattern>
  </servlet-mapping>


</web-app>

文件名:loginapp-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
        <bean id="id1" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
          <property name="mappings">
             <props>
                 <prop key="login.do">id2</prop>

        </props>
        </property>
        </bean>
        <bean id="id2" class="logincontroller"/>
</beans>

文件名:登录 Controller .java

package springmvc;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class logincontroller implements Controller {

    @Override
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {

        String username = request.getParameter("username");
        String password = request.getParameter("password");
        loginaction action = new loginaction();
        String result = action.verifyuser(username,password);
        if(result.equals("success"))
        return new ModelAndView("success.jsp");
        else
            return new ModelAndView("failure.jsp");


    }

}

文件名:成功.jsp

<% out.println("login success");%>

文件名:失败.jsp

<% out.println("failed");%>

在我运行 login.jsp 并输入用户名为“admin”密码为“admin”后我收到了这个错误

HTTP Status 500 - Servlet.init() for servlet loginapp threw exception


type Exception report

message Servlet.init() for servlet loginapp threw exception

description The server encountered an internal error that prevented it from fulfilling this request.

exception
javax.servlet.ServletException: Servlet.init() for servlet loginapp threw exception
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)


root cause
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'id1' defined in ServletContext resource [/WEB-INF/loginapp-servlet.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [logincontroller] for bean with name 'id2' defined in ServletContext resource [/WEB-INF/loginapp-servlet.xml]; nested exception is java.lang.ClassNotFoundException: logincontroller
Related cause: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [logincontroller] for bean with name 'id2' defined in ServletContext resource [/WEB-INF/loginapp-servlet.xml]; nested exception is java.lang.ClassNotFoundException: logincontroller
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
    org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:703)
    org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760)
    org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
    org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:658)
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:624)
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:672)
    org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:543)
    org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:484)
    org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
    javax.servlet.GenericServlet.init(GenericServlet.java:158)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)


root cause
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [logincontroller] for bean with name 'id2' defined in ServletContext resource [/WEB-INF/loginapp-servlet.xml]; nested exception is java.lang.ClassNotFoundException: logincontroller
    org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1327)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:594)
    org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1396)
    org.springframework.beans.factory.support.AbstractBeanFactory.isSingleton(AbstractBeanFactory.java:422)
    org.springframework.context.support.AbstractApplicationContext.isSingleton(AbstractApplicationContext.java:1002)
    org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.registerHandler(AbstractUrlHandlerMapping.java:286)
    org.springframework.web.servlet.handler.SimpleUrlHandlerMapping.registerHandlers(SimpleUrlHandlerMapping.java:129)
    org.springframework.web.servlet.handler.SimpleUrlHandlerMapping.initApplicationContext(SimpleUrlHandlerMapping.java:104)
    org.springframework.context.support.ApplicationObjectSupport.initApplicationContext(ApplicationObjectSupport.java:120)
    org.springframework.web.context.support.WebApplicationObjectSupport.initApplicationContext(WebApplicationObjectSupport.java:73)
    org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:74)
    org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:119)
    org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:94)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:407)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1545)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
    org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:703)
    org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760)
    org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
    org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:658)
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:624)
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:672)
    org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:543)
    org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:484)
    org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
    javax.servlet.GenericServlet.init(GenericServlet.java:158)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)


root cause
java.lang.ClassNotFoundException: logincontroller
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
    org.springframework.util.ClassUtils.forName(ClassUtils.java:247)
    org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:395)
    org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1348)
    org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1319)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:594)
    org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1396)
    org.springframework.beans.factory.support.AbstractBeanFactory.isSingleton(AbstractBeanFactory.java:422)
    org.springframework.context.support.AbstractApplicationContext.isSingleton(AbstractApplicationContext.java:1002)
    org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.registerHandler(AbstractUrlHandlerMapping.java:286)
    org.springframework.web.servlet.handler.SimpleUrlHandlerMapping.registerHandlers(SimpleUrlHandlerMapping.java:129)
    org.springframework.web.servlet.handler.SimpleUrlHandlerMapping.initApplicationContext(SimpleUrlHandlerMapping.java:104)
    org.springframework.context.support.ApplicationObjectSupport.initApplicationContext(ApplicationObjectSupport.java:120)
    org.springframework.web.context.support.WebApplicationObjectSupport.initApplicationContext(WebApplicationObjectSupport.java:73)
    org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:74)
    org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:119)
    org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:94)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:407)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1545)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
    org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:703)
    org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760)
    org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
    org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:658)
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:624)
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:672)
    org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:543)
    org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:484)
    org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
    javax.servlet.GenericServlet.init(GenericServlet.java:158)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)


note The full stack trace of the root cause is available in the Pivotal tc Runtime 3.2.2.RELEASE/8.5.6.B.RELEASE logs.

--------------------------------------------------------------------------------

Pivotal tc Runtime 3.2.2.RELEASE/8.5.6.B.RELEASE

这是我在 lib 文件夹中复制的 jar 文件:

commons-logging-1.2.jar
spring-aop-4.0.4.RELEASE.jar
spring-aop-4.0.4.RELEASE-javadoc.jar
spring-aop-4.0.4.RELEASE-sources.jar
spring-aspects-4.0.4.RELEASE.jar
spring-aspects-4.0.4.RELEASE-javadoc.jar
spring-aspects-4.0.4.RELEASE-sources.jar
spring-beans-4.0.4.RELEASE.jar
spring-beans-4.0.4.RELEASE-javadoc.jar
spring-beans-4.0.4.RELEASE-sources.jar
spring-build-src-4.0.4.RELEASE.jar
spring-context-4.0.4.RELEASE.jar
spring-context-4.0.4.RELEASE-javadoc.jar
spring-context-4.0.4.RELEASE-sources.jar
spring-context-support-4.0.4.RELEASE.jar
spring-context-support-4.0.4.RELEASE-javadoc.jar
spring-context-support-4.0.4.RELEASE-sources.jar
spring-core-4.0.4.RELEASE.jar
spring-core-4.0.4.RELEASE-javadoc.jar
spring-core-4.0.4.RELEASE-sources.jar
spring-expression-4.0.4.RELEASE.jar
spring-expression-4.0.4.RELEASE-javadoc.jar
spring-expression-4.0.4.RELEASE-sources.jar
spring-framework-bom-4.0.4.RELEASE.jar
spring-framework-bom-4.0.4.RELEASE-javadoc.jar
spring-framework-bom-4.0.4.RELEASE-sources.jar
spring-instrument-4.0.4.RELEASE.jar
spring-instrument-4.0.4.RELEASE-javadoc.jar
spring-instrument-4.0.4.RELEASE-sources.jar
spring-instrument-tomcat-4.0.4.RELEASE.jar
spring-instrument-tomcat-4.0.4.RELEASE-javadoc.jar
spring-instrument-tomcat-4.0.4.RELEASE-sources.jar
spring-jdbc-4.0.4.RELEASE.jar
spring-jdbc-4.0.4.RELEASE-javadoc.jar
spring-jdbc-4.0.4.RELEASE-sources.jar
spring-jms-4.0.4.RELEASE.jar
spring-jms-4.0.4.RELEASE-javadoc.jar
spring-jms-4.0.4.RELEASE-sources.jar
spring-messaging-4.0.4.RELEASE.jar
spring-messaging-4.0.4.RELEASE-javadoc.jar
spring-messaging-4.0.4.RELEASE-sources.jar
spring-orm-4.0.4.RELEASE.jar
spring-orm-4.0.4.RELEASE-javadoc.jar
spring-orm-4.0.4.RELEASE-sources.jar
spring-oxm-4.0.4.RELEASE.jar
spring-oxm-4.0.4.RELEASE-javadoc.jar
spring-oxm-4.0.4.RELEASE-sources.jar
spring-test-4.0.4.RELEASE.jar
spring-test-4.0.4.RELEASE-javadoc.jar
spring-test-4.0.4.RELEASE-sources.jar
spring-tx-4.0.4.RELEASE.jar
spring-tx-4.0.4.RELEASE-javadoc.jar
spring-tx-4.0.4.RELEASE-sources.jar
spring-web-4.0.4.RELEASE.jar
spring-web-4.0.4.RELEASE-javadoc.jar
spring-web-4.0.4.RELEASE-sources.jar
spring-webmvc-4.0.4.RELEASE.jar
spring-webmvc-4.0.4.RELEASE-javadoc.jar
spring-webmvc-4.0.4.RELEASE-sources.jar
spring-webmvc-portlet-4.0.4.RELEASE.jar
spring-webmvc-portlet-4.0.4.RELEASE-javadoc.jar
spring-webmvc-portlet-4.0.4.RELEASE-sources.jar
spring-websocket-4.0.4.RELEASE.jar
spring-websocket-4.0.4.RELEASE-javadoc.jar
spring-websocket-4.0.4.RELEASE-sources.jar

最佳答案

<bean id="id2" class="logincontroller"/>

此行导致此问题。

您需要在类属性中提及完全限定的类名。像这样。

 <bean id="id2" class="X.logincontroller"/>

其中 X 是您的完全限定包名称。

关于java - spring Bean 创建异常 Error creating bean with name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43109762/

相关文章:

java - Selenium - 无法找到标签内的文本

java - 如何从另一个类调用 MainActivity 中的方法?

java - 数据库对象持久化后反序列化无法转换为源类 : ClassCastException: TestDomain cannot be cast to TestDomain

spring - 将 <option> 值从 JSP 表单发送到 Controller Spring MVC

java - Spring @ExceptionHandler 返回 HTTP 406

java - 如何从自定义验证注释将实体对象传递到 Controller

java - org.apache.poi.EncryptedDocumentException : Unsupported hash algorithm

java - 如何在ApplicationListener中初始化 Autowiring 对象?

java - 创建没有实体的spring存储库

java - 处理 geojson 并找到多边形内包含的给定点