2015-12-10 3 views
3

Я учусь Spring MVC и когда я пытаюсь запустить файл его HTML-код дает ошибку HTTP Статус 500 - Servlet.init() для сервлета весной -dispatcher бросил исключениеHTTP Status 500 - Servlet.init() для сервлета пружинного диспетчера бросил исключение

Это мой 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>FirstSpringMVC</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> 

Это моя весна-диспетчерская-сервлет

<?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:p="http://www.springframework.org/schema/p" 
xmlns:aop="http://www.springframework.org/schema/aop" 
xmlns:tx="http://www.springframework.org/schema/tx" 
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd 
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> 


    <bean id="HandlerMapping" class = "org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> 

    <bean name = "/welcome.html" class = "com.ankitud.hellocontroller.HelloController"/> 

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

     <property name = "suffix"> 
      <value>.jsp</value> 
     </property> 
    </bean> 
</beans> 

Это моя страница JSP

<html> 
    <head> 
     <title>First MVC Application</title> 
    </head> 
    <body> 

    <h1>First MVC Application</h1> 
    <h2>${welcomemessage}</h2>  

    </body> 
</html> 

Это мой HelloController класс

package com.ankitud.hellocontroller; 

import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import org.springframework.web.servlet.ModelAndView; 
import org.springframework.web.servlet.mvc.AbstractController; 

public class HelloController extends AbstractController { 

    @Override 
    protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception{ 

     ModelAndView modelandview = new ModelAndView("HelloPage"); 
     modelandview.addObject("welcomemessage", "Hi User, welcome to the first Spring MVC application"); 

     return modelandview; 

    } 

} 

И это исключение, которое я получаю

javax.servlet.ServletException: Servlet.init() for servlet spring-dispatcher threw exception 
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:521) 
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096) 
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674) 
    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) 

Я работаю с Eclipse 4.5.1, Tomcat 8.0.30 и Spring 4.2.3.

+1

Это весь стек, или у вас есть корень стека вызывает следующее это в журналах? – Berger

ответ

3

Вы пропустили этот блок из вашего web.xml попытаться добавить:

<web-app...> 

    <!-------- DispatcherServlet definition goes here-----> 
    .... 
    <context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/spring-dispatcher-servlet.xml</param-value> 
    </context-param> 

    <listener> 
    <listener-class> 
    org.springframework.web.context.ContextLoaderListener 
    </listener-class> 
    </listener> 
</web-app> 
+0

Это помогло избавиться от ошибок HTTP Status 500 - Servlet.init(), но теперь я получаю «HTTP Status 404 - /FirstSpringMVC/welcome.html тип отчета Статус сообщение /FirstSpringMVC/welcome.html описание The запрошенный ресурс недоступен ». этот погрешность. –

+0

@Ankit Jain Попробуйте указать правильный URL-адрес здесь: / возможно использовать * как /*, почему у вас есть .jsp, но в url у вас есть welcome.html? – Abdelhak

+0

Я пробовал /*, но все равно он не работал. Welcome.html является обязательным к HelloContoller с помощью <имя фасоли = класса «/welcome.html» = «com.ankitud.hellocontroller.HelloController» /> в конечном счете, его HelloPage.jsp, который отображается в конце. На самом деле, я изучаю Spring MVC через учебные пособия по YouTube и следуя тому, что они делают, и это то, что я понял, пожалуйста, исправьте меня, если я где-то ошибаюсь. –

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