2016-05-31 40 views
0

サーブレット用のServlet.init()の他のポストが見つかりませんでした。 これはMavenやGradleではないので、pomはありません。これは単純な春のプロジェクトですが、まだ苦労しています。スニペットの下にはアクロオールエラーがあります。サーブレットのHTTPステータス500 - Servlet.init()を取得しています。HelloWorld例外が投げられました。

Hellocontroller.java。

package controller; 

import java.util.HashMap; 
import java.util.Map; 

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

import org.springframework.web.servlet.ModelAndView; 
import org.springframework.web.servlet.mvc.Controller; 
import org.springframework.web.servlet.*; 

//import com.sun.javafx.collections.MappingChange.Map; 

public class Hellocontroller implements Controller { 

    @Override 
    public ModelAndView handleRequest(HttpServletRequest req, 
      HttpServletResponse res) throws Exception { 

      String name = req.getParameter("name"); 

      Map m = new HashMap(); 
      m.put("msg", "Hello ...."+name);        

      ModelAndView mav =new ModelAndView("success",m); 

     return mav; 
    } 

} 

のHelloWorld-servlet.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context" xmlns="http://www.springframework.org/schema/beans" 
    xsi:schemaLocation="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.xsd"> 



    <bean name="./hello.ds" class="controller.Hellocontroller"> 
    </bean> 

    <bean class="org.springframework.web.servlet.InternalViewResolver"> 
     <property name="prefix" value="/" /> 
     <property name="suffix" value=".jsp" /> 
    </bean> 

</beans> 

のweb.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 

    <welcome-file-list> 
     <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 
    <servlet> 
     <servlet-name>HelloWorld</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 

    </servlet> 


    <servlet-mapping> 
     <servlet-name>HelloWorld</servlet-name> 
     <url-pattern>*.ds</url-pattern> 
    </servlet-mapping> 
</web-app> 

success.jsp

${msg} 

index.jspを

<h1>HelloWorld</h1> 

<form action ="./hello.ds"> 

NAME:<input type = "text" name="name"> 

SUBMIT<input type = "submit" value="sayHello"> 


</form> 

エラー:

type Exception report 

message Servlet.init() for servlet HelloWorld threw exception 

description The server encountered an internal error that prevented it from fulfilling this request. 

例外

javax.servlet.ServletException: Servlet.init() for servlet HelloWorld threw exception 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501 


root cause 

org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.web.servlet.InternalViewResolver] for bean with name 'org.springframework.web.servlet.InternalViewResolver#0' defined in ServletContext resource [/WEB-INF/HelloWorld-servlet.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.web.servlet.InternalViewResolver 
    org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1208) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:570) 
    org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1277 

答えて

0

ご使用の構成にエラーがあります。クラスorg.springframework.web.servlet.InternalViewResolverは存在しません(これは古代の春のMVCの例からコピー/貼り付けできますか?)。

org.springframework.web.servlet.view.InternalResourceViewResolverと交換してください。私はそれが動作することを保証することはできませんが、試してみる価値があります。

+0

HTTP Status 404 - 要求されたリソースを取得できませんでした – Jboy

+0

問題は、コントローラをURLにマッピングしていないことです。別の例を見つけることをお勧めします。私が誤解していない場合は、非常に古いSpring 2.5(またはそれ以前)の例に従っています。 Spring 4のチュートリアルを探してみてください:https://duckduckgo.com/?q=spring+4+mvc+tutorial&t=ffsb&ia=web(春はそれ以来ずっと前進しています) – Augusto

+0

あなたはフロントコントローラを意味していますか?私にLOCを与えてください – Jboy

関連する問題