2013-07-02 2 views
2

Я попытался выполнить поиск и внести изменения в соответствии с ответами на вышеуказанный вопрос, но не работает. Я не использую инструмент построения.Tomcat not loading Dispatcher Servlet (ClassNotFoundException)

Все Jar файлы jstl1.2, общие рубки 1.1.3 и Spring 3.2.3 банки в WebContent/WEB-INF/Lib

index.jsp приветствуется файл отображается правильно в браузере затмений, но когда я нажимаю на гиперссылку для контроллера, дайте 404 запрошенный ресурс недоступным. Из журнала кажется кот не загружается диспетчерская сервлета

Я попытался перезагрузки/чистый и публиковать кот,

с использованием Tomcat 7, jre7, затмением 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> 

весна-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: Привет, как вы упомянули, он не показывался в проекте lib, я добавил источник, но не работал. Как мы убеждаемся, что все банки находятся в проекте lib, я скопировал все банки в папке WebInf/lib. Разве это недостаточно или нам нужно что-то еще? Спасибо, что указали это. – user2477933

+0

Нужен ли исходный файл? Я думаю, что только файл .class должен быть достаточным? – user2477933

ответ

2

на основе трассировки стека вы отсутствующей пружинный webmvc.jar, который содержит класс DispatcherServlet. Попробуйте снова проверить свой путь к классу (WEB-INF/lib), чтобы убедиться, что там есть jar. Как правило, на применении Spring MVC вам нужны эти банки:

enter image description here

Я также рекомендую вам использовать зависимость инструмента управления (например: Maven/плющ) в противном случае это слишком сложно управлять баночки сами

+0

У меня есть вышеупомянутая банка в (WEB-INF/lib). Но это не работает. Я добавил свое представление обозревателя проекта eclipse. Дайте мне знать, если вы найдете какие-либо проблемы с этим – user2477933

+0

, не позволяя добавлять изображения, но я уверен, что jar присутствует в каталоге, который вы сказали – user2477933

+0

Мне не хватало commons-logging-1.1.1.jar. Я потратил почти 3 часа ... в конце концов, это сработало. Благодаря, –

0

Просто добавьте все необходимые файлы jar в папку WEB-INF/lib, затем он работает для меня. В этом случае только класс DispatcherServlet найден

Смежные вопросы