Java 如何为spring配置web.xml

Java 如何为spring配置web.xml,java,spring,spring-mvc,web.xml,classnotfoundexception,Java,Spring,Spring Mvc,Web.xml,Classnotfoundexception,我是spring Framework新手,在通过web.xml链接/配置springframework时遇到问题。 运行我的应用程序时出现以下错误 错误: HTTP Status 500 - Error instantiating servlet class org.springframework.web.servlet.DispatcherServlet type Exception report message Error instantiating servlet c

我是spring Framework新手,在通过web.xml链接/配置springframework时遇到问题。 运行我的应用程序时出现以下错误

错误:

HTTP Status 500 - Error instantiating servlet class org.springframework.web.servlet.DispatcherServlet


    type Exception report

    message Error instantiating servlet class org.springframework.web.servlet.DispatcherServlet

    description The server encountered an internal error (Error instantiating servlet class org.springframework.web.servlet.DispatcherServlet) that prevented it from fulfilling this request.

    exception 

    javax.servlet.ServletException: Error instantiating servlet class org.springframework.web.servlet.DispatcherServlet
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
        org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
        org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
        org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
        org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
        java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        java.lang.Thread.run(Unknown Source)


    root cause 

    java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
        org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
        org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
        org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
        org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
        org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
        org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
        java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        java.lang.Thread.run(Unknown Source)
显然,它在库中找不到org.springframework.web.servlet.DispatcherServlet类。但是,我不知道如何告诉web.xml在哪里查找这个类

web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xmlns="http://java.sun.com/xml/ns/javaee" 
             xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
             xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

        <servlet>
            <servlet-name>DispatcherSample</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        </servlet>

        <servlet-mapping>
            <servlet-name>DispatcherSample</servlet-name>
            <url-pattern>/PlayField.html</url-pattern>
        </servlet-mapping>

      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>Welcome.html</welcome-file>
      </welcome-file-list>

    </web-app>

调度员样本
org.springframework.web.servlet.DispatcherServlet
调度员样本
/PlayField.html
index.html
欢迎光临
DispatcherSample-servlet.xml

    <?xml version="1.0" encoding="UTF-8"?>

    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

        <bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">  
            <property name="mappings">
                <props>
                    <prop key="/PlayField.html">playfieldController</prop>
                </props>    
            </property>
        </bean>

        <bean id="playfieldController" class="demos.PlayfieldController"/>

    </beans>

操场长
java.lang.ClassNotFoundException:org.springframework.web.servlet.DispatcherServlet


您必须添加到类路径(很可能是
/WEB-INF/lib
目录)。您的其余配置似乎很好。

将其添加到目录中,现在获取HTTP状态500-org/springframework/context/EnvironmentAware--------------------------------------------------------------------键入异常报告消息org/springframework/context/EnvironmentAware说明服务器遇到内部错误(org/springframework/context/EnvironmentAware)这使它无法满足此请求。@穆罕默德:请确保所有Spring jar的版本都相同,并且类路径上也有
Spring context.jar
。多亏了Tomasz,我添加了Spring-context.jar(对所有jar文件使用相同的版本)现在它抱怨HTTP状态为500-org/springframework/beans/factory/Aware。请告知是否有用于spring mvc项目的jar文件的完整列表?@Muhammad:从
SpringBeans
SpringAOP
SpringCore
SpringWeb
开始。没有列表,因为您通常选择您想要的内容。但是请查看完整的列表:在添加指定的JAR之后,我现在得到HTTP状态500-org/springframework/context/EnvironmentAware。我尝试添加spring-context.jar,但它会导致tomcat停止运行。