2016-03-13 5 views
6

基本的に、ブラウザの "/"と "/ a"へのアクセスはブラウザ上で動作しています。 Acess "/ testme"は動作しません。 04::エラーがSpringフレームワークを使用した円形ビューパスの例外

2016年3月13日15である37.709 ERROR 1933 --- [IO-8080-EXEC-57] osboot.context.web.ErrorPageFilter:転送要求からページ エラー表示の[/testmenull] [サーキュラービューパス [testme.html]:再度現在のハンドラーURL [/XXXX/testme.html]にディスパッチします。 ViewResolverの設定を確認してください! (ヒント:これ が原因デフォルトのビュー名 世代に、不特定のビューの結果である可能性がある)]

私は、文字列のgrepを行うが、「ViewResolver」が見つかりませんことができます。私はなぜ "/"と "/ a"が働いているのか分かりません。何か案が?

もっと見るための画像: enter image description here

すべてのXMLファイル: enter image description here

の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.xxxxx</groupId> 
    <artifactId>Monitor</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <!--<name>Monitor</name>--> 
    <url>http://maven.apache.org</url> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.1.9.RELEASE</version> 
    </parent> 

    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>javax.websocket</groupId> 
      <artifactId>javax.websocket-api</artifactId> 
      <version>1.1</version> 
      <scope>provided</scope> <!--for web socket--> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-data-jpa</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>5.1.31</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.hateoas</groupId> 
      <artifactId>spring-hateoas</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.google.code.gson</groupId> 
      <artifactId>gson</artifactId> 
      <version>2.3</version> 
     </dependency> 
     <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-databind</artifactId> 
     </dependency> 
     <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <finalName>Monitor</finalName> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <compilerVersion>1.7</compilerVersion> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
      <!--<plugin>--> 
       <!--<groupId>org.apache.maven.plugins</groupId>--> 
       <!--<artifactId>maven-source-plugin</artifactId>--> 
       <!--<executions>--> 
        <!--<execution>--> 
         <!--<id>attach-sources</id>--> 
         <!--<goals>--> 
          <!--<goal>jar</goal>--> 
         <!--</goals>--> 
        <!--</execution>--> 
       <!--</executions>--> 
      <!--</plugin>--> 
     </plugins> 
     <resources> 
      <resource> 
       <directory>${basedir}/src/main/resources</directory> 
      </resource> 
      <resource> 
       <directory>${basedir}/src/main/java</directory> 
      </resource> 
     </resources> 
    </build> 
</project> 

web.xmlの

<!DOCTYPE web-app PUBLIC 
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd" > 

<web-app> 
    <display-name>Archetype Created Web Application</display-name> 
</web-app> 
+0

エラーはあなたのviewResolverをチェックして、それをチェックしましたか?あなたはxmlの設定を貼り付けることができますか? –

+0

すべてのファイルに文字列grepを実行するので、viewResolverはありません。私はweb.xmlとpom.xmlを投稿しました。また、すべてのXMLファイルの画像。 – kenpeter

+0

だから、その春のブートプロジェクト!私はあなたがSpring-MVCとSpring-Bootプロジェクトに混乱していると思います。 'src/main/resources'ディレクトリに' testme.html'がありません。 それはなぜですか?そのエラーは、[この回答](http://stackoverflow.com/questions/18813615/how-to-avoid-the-circular-view-path-exception-with-spring-mvc-test)を参照してください。 –

答えて

13

@RequestMappingの値"t estme "になり、リターンの値も" testme "となり、"/testme "にアクセスすると、Webは再び"/testme "にリダイレクトされます。これは "/ testme"への無限のリダイレクトにつながります。

+0

これは保存する回答(!)です - 円形ビューパスエラー – Andrius

5

gradleを使用している場合は、 compile("org.springframework.boot:spring-boot-starter-thymeleaf")を追加するか、またはこの依存関係を見つける必要があります。

0

私はHTMLの名前がす​​べて正しい場合は、多分あなたはあなたのMvcConfigクラスでこのような何かを宣言する必要があると思う:あなたはビューを返却していない場合

@Configuration 
public class MvcConfig extends WebMvcConfigurerAdapter { 
    @Override 
    public void addViewControllers(ViewControllerRegistry registry) { 
     registry.addViewController("/home").setViewName("home"); 
     registry.addViewController("/usuario/perfil").setViewName("usuario/perfil"); 
     registry.addViewController("/").setViewName("home"); 
     registry.addViewController("/testme").setViewName("testme"); 
     registry.addViewController("/test").setViewName("test"); 
     registry.addViewController("/login").setViewName("login"); 
    }  
} 
1

。しかし、JSONだけが応答に@ResponseBodyを追加すると、ビューではなくJSON値が返されます。

例: @RequestMapping(value="/getList",method = RequestMethod.GET) public @ResponseBody List<LOne> getLOne(){

0

この問題はのpom.xmlに言及した循環依存が原因です。 spring-boot-starter-freemakerを使用している場合は、spring-boot-starter-webを使用しないでください。 spring-boot-starter-webはすでにspring-boot-starter-freemakerの一部です。

関連する問題