2017-10-03 9 views
1

私はSpring Frameworkを勉強しています。ビデオチュートリアルの後にエラーが発生しました。何が間違っているのか分かりません。私はMaven 3.5.0を使用しており、Tomcat 7で実行しています。私はGETをリクエストメソッドとして使用しています。HTTPステータス404 - spring mvc java web

web.xmlの

<!-- webapp/WEB-INF/web.xml --> 
    <web-app 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" 
     version="3.0"> 

     <display-name>To do List</display-name> 

     <welcome-file-list> 
      <welcome-file>login.do</welcome-file> 
     </welcome-file-list> 

     <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/todo-servlet.xml</param-value> 
       </init-param> 
       <load-on-startup>1</load-on-startup> 
      </servlet> 

      <servlet-mapping> 
       <servlet-name>dispatcher</servlet-name> 
       <url-pattern>/spring-mvc/*</url-pattern> 
      </servlet-mapping> 

    </web-app> 

ディスパッチャサーブレット:

 <?xml version="1.0" encoding="UTF-8"?> 

    <beans xmlns="http://www.springframework.org/schema/beans" 
      xmlns:context="http://www.springframework.org/schema/context" 
      xmlns:mvc="http://www.springframework.org/schema/mvc" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
      http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd 
      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> 

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

      <mvc:annotation-driven /> 

     </beans> 

コントローラー:

package com.springweb.springmvc; 

    import org.springframework.stereotype.Controller; 
    import org.springframework.web.bind.annotation.RequestMapping; 
    import org.springframework.web.bind.annotation.ResponseBody; 

    @Controller 
    public class LoginController { 

     @RequestMapping(value = "/login") 
     @ResponseBody 
     public String helloWorld() { 
      return "Hello World"; 
     } 
    } 

のpom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.in28minutes</groupId> 
    <artifactId>in28Minutes-first-webapp</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 

    <dependencies> 
     <dependency> 
      <groupId>javax</groupId> 
      <artifactId>javaee-web-api</artifactId> 
      <version>6.0</version> 
      <scope>provided</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>4.2.2.RELEASE</version> 
     </dependency> 

    </dependencies> 

    <build> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <version>3.2</version> 
        <configuration> 
         <verbose>true</verbose> 
         <source>1.8</source> 
         <target>1.8</target> 
         <showWarnings>true</showWarnings> 
        </configuration> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.tomcat.maven</groupId> 
        <artifactId>tomcat7-maven-plugin</artifactId> 
        <version>2.2</version> 
        <configuration> 
         <path>/</path> 
         <contextReloadable>true</contextReloadable> 
        </configuration> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
    </build> 
</project> 

私はIDEとしてEclipseを使用しています。説明に記載されています:

要求されたリソースは利用できません。

答えて

0

私はそれを解決しましたが、私は理解できません。ディスパッチャーサーブレットのbase-package = "com.in28minutes"にパッケージ名を一致させる必要がありますか?

+0

こんにちは!はい、それはすべきです。サーブレットxmlをディスパッチするサーブレットxmlに ''を追加すると、アノテートされたクラスをルートまたは子であるパッケージで検索します。注釈付きクラスを他のパッケージに追加すると、 'com.springweb.springmvc'のように、springはそれを見つけられません。 –

関連する問題