2016-10-30 7 views
0

私は多くの似たようなスレッドを見たことがありますが、私の問題は解決していません。私が逃したものを教えてください? http://localhost:8080/helloworld.htmlに行くと "HTTP Status 404"が表示されます。Spring MVCディスパッチャーが機能しません。 HTTP 404

HelloWorldController.java

@Controller 
    public class HelloWorldController { 

    @RequestMapping(value="/helloworld.html") 
    public ModelAndView helloWorld() { 

     return new ModelAndView("HelloWorldPage"); } 
    } 

のweb.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
     http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
     version="3.1"> 
    <servlet> 
     <servlet-name>dispatcher</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>dispatcher</servlet-name> 
     <url-pattern>*.html</url-pattern> 
    </servlet-mapping> 

    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/dispatcher-servlet.xml</param-value> 
    </context-param> 

</web-app> 

ディスパッチャ-servlet.xml

<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:context="http://www.springframework.org/schema/context" 
     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"> 

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

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

    </beans> 

ファイル構造: https://s18.postimg.org/4j699vn6x/stack.png

のpom.xml

... 
    <dependencies> 
     <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>3.1.0.RELEASE</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>3.1.0.RELEASE</version> 
     </dependency> 
    </dependencies> 
... 
+0

あなたはどのサーバーを使用していますか? – developer

+0

私はこのコードをTomcat、JBossでテストしましたが、いつも同じエラーが発生しています。 – kamo

+0

'@RequestMapping(value ="/helloworld.html ")に問題はありません。 '/ WEB-INF/pages /'の下に 'HelloWorldPage.jsp'がありますか? –

答えて

0

これはあなたのアプリケーションを設定する方法です。

をweb.xmlでは、あなたがすべき次のようにディスパッチャサーブレットを確認してください:

<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/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> 

コントローラは次のようになります。

@Controller 
public class HelloWorldController { 

    @RequestMapping(value="/") 
    public ModelAndView helloWorld() { 

     return new ModelAndView("HelloWorldPage"); } 
    } 

今、あなたのイメージに応じて、私はあなたのTomcatのコンテキストはTomcatがしようと実行まで&あるので、後untitled7であると推測しています次のURLにアクセスしてください:

http://localhost:8080/untitled7

+0

それはまだ動作しません、なぜ私は分かりません。 – kamo

+0

例外のあるスタックトレースを投稿できますか?変更後。 –

+0

ありがとうございます。問題はサーバの設定であり、ライブラリをロードしません。 – kamo

関連する問題