2016-11-09 16 views
1

私は自分のアプリケーションを取得するための基本的なチュートリアルに従うことをしようと実行している、ここで見つかったものだ:HTTPステータス404

http://websystique.com/springmvc/spring-4-mvc-rest-service-example-using-restcontroller/

現在、私は以下のクラスを持っています

AppConfig.java:

package com.cgi.miam.config; 

import org.springframework.context.annotation.ComponentScan; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.web.servlet.config.annotation.EnableWebMvc; 
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; 

@Configuration 
@ComponentScan("com.cgi.miam") 
@EnableWebMvc 
public class AppConfig extends WebMvcConfigurerAdapter { 

} 

WebAppInitializer.java:

package com.cgi.miam.config; 

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; 

public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { 

    @Override 
    protected Class[] getRootConfigClasses() { 
     return new Class[] { AppConfig.class }; 
    } 

    @Override 
    protected Class[] getServletConfigClasses() { 
     return null; 
    } 

    @Override 
    protected String[] getServletMappings() { 
     return new String[] { "/*" }; 
    } 
} 

MemberController.java:

package com.cgi.miam.controller; 

import org.springframework.http.HttpStatus; 
import org.springframework.http.ResponseEntity; 
import org.springframework.web.bind.annotation.GetMapping; 
import org.springframework.web.bind.annotation.PathVariable; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RestController; 

@RestController 
public class MemberController { 

    @RequestMapping("/") 
    public String welcome() {// Welcome page, non-rest 
     return "Welcome to RestTemplate Example."; 
    } 

    @GetMapping("/person/{id}") 
    public ResponseEntity getCustomer(@PathVariable("id") Integer id) { 

     return new ResponseEntity("test", HttpStatus.OK); 
    } 
} 

そして、私の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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.cgi.miam</groupId> 
    <artifactId>miamWebApp</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>miamWebApp Maven Webapp</name> 
    <url>http://maven.apache.org</url> 

    <dependencies> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>4.3.3.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
      <version>4.3.3.RELEASE</version> 
     </dependency> 

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

     <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>javax.servlet-api</artifactId> 
      <version>4.0.0-b01</version> 
     </dependency> 

     <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-databind</artifactId> 
      <version>2.8.4</version> 
     </dependency> 
     <dependency> 
      <groupId>com.fasterxml.jackson.dataformat</groupId> 
      <artifactId>jackson-dataformat-xml</artifactId> 
      <version>2.8.4</version> 
     </dependency> 

    </dependencies> 
    <build> 
     <finalName>SpringRest</finalName> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <version>3.2</version> 
        <configuration> 
         <source>1.8</source> 
         <target>1.8</target> 
        </configuration> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-war-plugin</artifactId> 
        <version>2.4</version> 
        <configuration> 
         <warSourceDirectory>src/main/webapp</warSourceDirectory> 
         <warName>MemberInformation</warName> 
         <failOnMissingWebXml>false</failOnMissingWebXml> 
        </configuration> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
    </build> 

</project> 

私は、Eclipse内のTomcat 9.0でそれを展開してきたし、それが正常に起動します。しかし、http://localhost:8080/MemberInformation/またはhttp://localhost:8080/MemberInformation/personまたはhttp://localhost:8080/MemberInformation/person/2に行くと、私はいつも404が見つかりません。すべてのチュートリアルでこの時点で情報を開始して取得できるようですが、ここではうまくいかないようです。私がhttp://localhost:8080/managerにブラウズすると、 'MemberInformation'アプリがデプロイされているようです。任意のヒント?

+0

なぜ '/メンバー情報/ ... 'ですか? – jonrsharpe

+0

TomcatにWARファイルをデプロイしましたか? –

+0

@jonrsharpe私は自分のポームで私の質問を更新しました。 – Joetjah

答えて

0

:これを試してみてください。 pom.xmlに以下の部分:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.4</version> 
    <configuration> 
     <warSourceDirectory>src/main/webapp</warSourceDirectory> 
     <warName>MemberInformation</warName> 
     <failOnMissingWebXml>false</failOnMissingWebXml> 
    </configuration> 
</plugin> 

は、その場所に展開するWARファイルを引き起こし、そしてアプリはEclipse内のTomcatサーバに追加されたにもかかわらず、それは展開しませんでした。解決策は、pomのこの部分をコメントアウトするか、生成されたwarファイルをTomcatのWebappsフォルダに転送することでした。

0

問題は、SpringがあなたのRestControllerを見つけることができないという事実のようです。 @Configurationでは、基本パッケージを指定する必要がありますのでご注意ください。私の問題は、私はWebサービスを展開した方法であったと思わ

@ComponentScan(basePackages = "com.cgi.miam") //will look into com.cgi.miam.controller as well 

代わりに...

@ComponentScan("com.cgi.miam") 
+0

他の回答から、Tomcatの起動時に何かが表示されることに気がついたので、私は同じことを考えました。しかし、あなたの提案に応じてそれを変更すると、残念なことに動作しませんでした。 – Joetjah

+0

ブラウザの[ネットワーク]タブの[レスポンス]には何が表示されますか? – Mechkov

+0

赤で、/ MemberInformation /への応答として404が見つかりません – Joetjah

関連する問題