2013-07-02 90 views
2

我试图搜索并根据上述问题的答案进行更改,但无法正常工作。我没有使用任何构建工具。Tomcat未加载Dispatcher Servlet(ClassNotFoundException)

所有jar文件jstl1.2,共同测井公司1.1.3和3.2.3春瓶在的WebContent/WEB-INF/lib目录

的index.jsp是值得欢迎的文件显示在Eclipse浏览器中正确,但是当我点击控制器的超链接时,404请求资源不可用。从日志似乎使用Tomcat 7,jre7 Tomcat没有装载调度的servlet

我试图重新启动/清洁和发布的tomcat,

,日食kepller 4.0,使用Java EE 2.0

感谢您的帮助

Tomcat的日志:

ul 02, 2013 1:16:52 PM org.apache.catalina.core.ApplicationContext log 
    I**NFO: No Spring WebApplicationInitializer types detected on classpath 
    Jul 02, 2013 1:16:52 PM org.apache.catalina.core.ApplicationContext log 
    INFO: Marking servlet spring as unavailable 
    Jul 02, 2013 1:16:52 PM org.apache.catalina.core.StandardContext loadOnStartup 
    SEVERE: Servlet /SpringMVC threw load() exception 
    java.lang.ClassNotFoundException:             org.springframework.web.servlet.DispatcherServlet** 
             
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509) 
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137) 
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144) 
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) 
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5123) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5407) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

Jul 02, 2013 1:16:53 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-bio-8080"] 
Jul 02, 2013 1:16:53 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["ajp-bio-8009"] 
Jul 02, 2013 1:16:53 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 11462 ms 

的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" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.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"> 
    <display-name>SpringMVC</display-name> 

     <welcome-file-list> 
        <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 
  
    <servlet> 
        <servlet-name>spring</servlet-name> 
        <servlet-class> 
            org.springframework.web.servlet.DispatcherServlet 
        </servlet-class> 
        <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
        <servlet-name>spring</servlet-name> 
        <url-pattern>*.html</url-pattern> 
    </servlet-mapping> 
</web-app> 

为spring-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" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:p="http://www.springframework.org/schema/p" 
    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-3.0.xsd 
         http://www.springframework.org/schema/context 
         http://www.springframework.org/schema/context/spring-context-3.0.xsd"> 

    <context:component-scan 
     base-package="com.maverick.springmvc.controller" /> 

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

</beans> 

HelloWorldController.java

package com.maverick.springmvc.controller; 

import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.servlet.ModelAndView; 


@Controller 
public class HelloWorldController { 


    @RequestMapping("/hello") 
    public ModelAndView helloWorld() { 

     System.out.println("test"); 
     String message = "Hello World, Spring 3.0!"; 
     return new ModelAndView("hello", "message", message); 
    } 
} 
+0

尝试搜索了'DispatcherServlet'在构建路径,使用Ctrl + Shift + T(在Eclipse),如果得到的罐子被包含在你的项目的lib –

+0

看看一个@ LaabidiRaissi:嗨,正如你所说的那样,它并没有在项目库中显示,我确实附加了源代码但没有工作。 我们如何确保所有jar文件都在项目库中,我复制了WebInf/lib文件夹中的所有jar文件。 这不够,或者我们需要别的东西?感谢您指出这一点 – user2477933

+0

我们是否需要源文件?我认为只有.class文件应该足够了? – user2477933

回答

2

基于你缺少弹簧webmvc.jar其中包含的DispatcherServlet类的堆栈跟踪。尝试再次检查你的类路径(WEB-INF/lib)以确保jar在那里。通常,在Spring MVC的应用程序,你需要这些罐子:

enter image description here

我也建议你使用依赖管理工具(例如:Maven的/常春藤),否则就难于管理的罐子自己

+0

我确实在(WEB-INF/lib)中有上面提到的jar。但它不工作。我已经添加了我的eclipse项目资源管理器视图。请让我知道,如果您发现有任何与 – user2477933

+0

不允许添加图像有关的问题,但我确定该jar存在于您所说的目录中 – user2477933

+0

我缺少commons-logging-1.1.1.jar。我浪费了将近3个小时.............终于奏效了。谢谢, –

0

只需将所有需要的jar文件添加到WEB-INF/lib文件夹中,然后它就可以用于我。 在这种情况下,只有的DispatcherServlet类中找到

相关问题