2017-08-06 6 views
0
以上

Directory hierarchy of fileHTTPステータス500エラーインスタンス化するサーブレットクラスorg.springframework.web.servlet.DispatcherServlet

は私のプログラム

のディレクトリ階層である私は、春に新しいですし、私が書かれているMVCの概念を学びますプログラムは入力(Name)をテキストボックスに入れ、Hello ... '名前'を出力します。それは私のディレクトリ構造と私が作成した様々なファイルです。

の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" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> 
    <display-name>MVC_HelloWorld</display-name> 
    <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 

    <!-- default configuration --> 
    <servlet> 
    <servlet-name>HelloWorld</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    </servlet> 



<servlet-mapping> 
    <servlet-name>hello</servlet-name> 
    <url-pattern>*.ap</url-pattern> <!-- this same extension should bbe used in form action --> 
    </servlet-mapping> 
</web-app> 

のHelloWorld-servlet.xml

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" 
"http://www.springframework.org/dtd/spring-beans-2.0.dtd"> 

<beans> 
<!-- default handler mapping --> 
<!-- file should be created under web inf annd it's view resolver file --> 

    <!-- handler(Not rqd in case of default handler) --> 
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" /> 

    <!-- controller configuration --> 
<bean name="/HelloWorld.ap" class="controller.HelloController"> <!-- mapping url pattern to controller class using 'name' --> 

<!-- view resolver --> 

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix" vlaue="/"/> <!-- default location (prefix used foor rqd page locations) --> 
     |<property name="sufix" value=".jsp"/> <!-- sufix used forr rqd page extensions --> 

</bean> 

</bean> 

</beans> 

HelloController.java index.jspを

package controller; 

import java.util.HashMap; 

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

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

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(); // creating output object 
      m.put("msg","Hello..."+name); 

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



     return mav; 
    } 

} 

<h1> Hello World</h1> 

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

NAME: <input type="text" name="name"> 
     <input type="Submit" value="Say Hello"> 
</form> 

success.jsp

${msg} 

私はindex.jspページにこのコードを実行していることは、コードと間違って何のエラー500を示し、さらに、実行時に正常に動作してイガます。.. ??私はそのApacheでEclipse酸素を使用しています。8.5

答えて

0

web.xmlの設定が間違っています。

ディスパッチ・サーブレットをコントローラとしてマップしようとしています。
他のmvcフレームワーク(ストラットなど)のようなspring mvcでは、すべての要求をディスパッチするために使用する1つの主要なサーブレットがあります。

org.springframework.web.servlet.DispatcherServletは通常、「ディスパッチャー」という名前で、通常はトップレベルのURLにマッピングする必要があります「\」

例えば

<servlet> 
       <servlet-name>dispatcher</servlet-name> 
       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
       <init-param> 
        <param-name>contextConfigLocation</param-name> 
        <param-value>/WEB-INF/spring/dispatcher-servlet.xml</param-value> 
       </init-param> 
       <load-on-startup>1</load-on-startup> 
      </servlet> 
    ... 
    <servlet-mapping> 
       <servlet-name>dispatcher</servlet-name> 
       <url-pattern>/</url-pattern> 
      </servlet-mapping> 

コントローラがこのURLの下にマップされています。 HelloWorldの

@Controller 
@RequestMapping("/HelloWorld");" 
public class HelloController implements Controller {} 

あなたの最初のプロジェクトは、古典的なバニラスターターSpring MVCのプロジェクトから離れていると、あなたは非常に古い春バージョン(またはスプリングチュートリアル)を使用しているように見えたよう。私はいくつかのオンラインチュートリアルから新鮮に始めることを提案する。

など。

http://www.journaldev.com/2433/spring-mvc-tutorial
http://www.mkyong.com/spring-mvc/gradle-spring-mvc-web-project-example/

+0

申し訳ありませんが、私はあなたがplzはsaid..couldソリューションを取得していないですちょうどあなたが持っているのいずれかのエラーを指摘し、 –

+0

を理解しやすいだろうように、私は解決策を提供していませんでした私の文書で変更を行います。チュートリアルのサンプルプロジェクトから始めましょう。 –

+0

私のサンプルの1つを複製することもできますhttps://github.com/ramanh3/rest-json –

0

web.xmlに編集の下に試してみてください。

<servlet-mapping> 
<servlet-name>HelloWorld</servlet-name> 
<url-pattern>*.ap</url-pattern> <!-- this same extension should bbe used in form action --> 
</servlet-mapping> 
関連する問題