2012-12-01 59 views
0

正在開發MVC Spring應用程序具有Maven特性。一切似乎確定,但最近我得到了這個錯誤:Servlet.init異常

Servlet.init() for servlet dispatcher threw exception 

這太奇怪了。我完全不明白這是什麼問題!

exception 

javax.servlet.ServletException: Servlet.init() for servlet dispatcher threw exception 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
java.lang.Thread.run(Thread.java:619) 

root cause 

org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.nortal.vspa.controller.HelloWorldController] for bean with name '/welcome.htm' defined in ServletContext resource [/WEB-INF/dispatcher-servlet.xml]; nested exception is java.lang.ClassNotFoundException: com.nortal.vspa.controller.HelloWorldController 
org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1250) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:576) 
org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1319) 
org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:885) 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:562) 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) 
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:442) 
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:458) 
org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:339) 
org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:306) 
org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:127) 
javax.servlet.GenericServlet.init(GenericServlet.java:212) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
java.lang.Thread.run(Thread.java:619) 

dispather-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"> 

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

<bean name="/welcome.htm" class="com.nortal.vspa.controller.HelloWorldController" ></bean> 
<bean name="/rate.htm" class="com.nortal.vspa.controller.RateController" ></bean> 

vspa-context.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" 
xmlns:mvc="http://www.springframework.org/schema/mvc" 
xmlns:context="http://www.springframework.org/schema/context" 
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
    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-3.0.xsd"> 
<context:annotation-config /> 
<context:component-scan base-package="com.nortal.vspa.controller" /> 

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_2_5.xsd" id="WebApp_ID" version="2.5"> 
    <servlet> 
    <servlet-name>dispatcher</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>*.htm</url-pattern> 
</servlet-mapping> 
<welcome-file-list> 
    <welcome-file>redirect.jsp</welcome-file> 
</welcome-file-list> 

你能幫助我嗎?

+1

你可以發佈完整的跟蹤,應該有一個根本原因。似乎你的一個servlet的init方法拋出一個異常 – Subin

+0

事實上,我會說一個名爲「dispatcher」的servlet是造成這個問題的那個... –

+0

@SubinS現在跟蹤堆棧已經發布了! –

回答

0

好吧,看來相當清楚:

Cannot find class [com.nortal.vspa.controller.HelloWorldController] 

所以,你需要在哪裏工作是定義類,並確保它在這個servlet適當的類路徑,以一種春天是能夠找到它。

+0

該類定義確定100%! :( –

+0

@HatemSalem:我敢說是的,但顯然Spring找不到它,所以你需要弄清楚爲什麼Spring沒有找到它,如果不知道更多關於它的信息,我們無法幫助你 –

+0

我會發布配置文件和xml文件 –

相關問題