简体   繁体   中英

Error instantiating servlet class org.springframework.web.servlet.Dispatcherservlet

I am using spring 4.0.4 RELEASE.jar but i got class not found exception. Here is my 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"  
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">
<display-name>SpringMvcApplication</display-name>
<servlet>
   <servlet-name>spring-dispatcher</servlet-name>
  <servlet-class>org.springframework.web.servlet.Dispatcherservlet</servlet-class>
 </servlet>
   <servlet-mapping>
 <servlet-name>spring-dispatcher</servlet-name>
   <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

Here is my spring-dispatcher-servlet.xml code

<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:context="http://www.springframework.org/schema/context"
  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-4.0.xsd
  http://www.springframework.org/schema/context
  http://www.springframework.org/schema/context/spring-context-4.0.xsd">
 <context:component-scan base-package="com.javahash.spring.controller" />
       <bean id="HandlerMapping" name="/welcome.html"
  class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"       />
   <bean name="/welcome.html"   
      class="com.manikant.hellocontroller.HelloController"/>    
   <bean id= "viewResolver"  

 class="org.springframework.web.servlet.view.InternalResourceViewResolver">
           <property name="prefix" value="/WEB-INF/" />
       <property name="suffix" value=".jsp" />
    </bean>
 </beans>

And here is the stacktrace :

javax.servlet.ServletException: Error instantiating servlet class org.springframework.web.servlet.Dispatcherservlet
            org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
            org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
            org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
            org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
            org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
            org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
            org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
            org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
            java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            java.lang.Thread.run(Thread.java:745)

                java.lang.ClassNotFoundException:        
        org.springframework.web.servlet.Dispatcherservlet
            org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1308)
            org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1142)
            org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
            org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
            org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
            org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
            org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
            org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
            org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
            org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
            java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            java.lang.Thread.run(Thread.java:745)

Notice the error message:

Error instantiating servlet class org.springframework.web.servlet.Dispatcherservlet
                                                                            ^

and later in the stack trace:

java.lang.ClassNotFoundException: org.springframework.web.servlet.Dispatcherservlet 

The correct spelling is DispatcherServlet with uppercase S .

Long term solution

While using Spring 4.X and above, it is always recommended to use Bill of Materials provided by them. It pull out the relevant dependencies and helps in avoiding all kind of build path/runtime errors caused by your application.

In your case, please add these dependencies in your POM.xml file or the above bill of materials provided by them (choice is yours)

                             <dependencies>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-aop</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-aspects</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-beans</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-context</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-context-support</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-core</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-expression</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-instrument</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-instrument-tomcat</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-jdbc</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-jms</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-messaging</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-orm</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-oxm</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-test</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-tx</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-web</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-webmvc</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-webmvc-portlet</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>
                                  <dependency>
                                    <groupId>org.springframework</groupId>
                                    <artifactId>spring-websocket</artifactId>
                                    <version>4.0.4.RELEASE</version>
                                  </dependency>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM