2016-05-25 91 views
1

我堅持使用這個簡單的MVC示例。當我啓動應用程序並轉到localhost:8080時,我得到了「Whitelabel Error Page」,即使我在「src/main/resources/templates」中創建了「index.html」。我還在我的索引方法中添加了@RequestMapping(「/」)。我找不到問題。Springboot白標錯誤頁面

IndexController.java

package controllers; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
@Controller 
public class IndexController { 
    @RequestMapping("/") 
    public String index(){ 
    return "index"; 
    } 
} 

SpringmvcApplication.java

package com.example; 
import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
@SpringBootApplication 
public class SpringmvcApplication { 
    public static void main(String[] args) { 
    SpringApplication.run(SpringmvcApplication.class, args); 
    } 
} 

index.html - 「的src /主/資源/模板」 下:

<!DOCTYPE html> 
<html xmlns:th="http://www.thymeleaf.org"> 
<head lang="en"> 
<title>Hello Spring MVC</title> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
</head> 
<body> 
<h1>Hello World</h1> 
<h2>This is my Thymeleaf index page.</h2> 
</body> 
</html> 
+0

它在錯誤頁面上顯示什麼信息?你有沒有看到日誌上的任何錯誤? –

+0

白標籤錯誤頁面 此應用程序沒有明確的映射/錯誤,因此您將此視爲後備。 Wed May 25 22:55:44 CEST 2016 出現意外錯誤(type = Not Found,status = 404)。 無可用消息 - 我可以在localhost上看到:8080 – zoram

+0

啓用調試(請參閱http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html)以查看更多消息。 –

回答

1

正如你可以看到記錄您控制器未被Spring發現並註冊。可能是因爲它屬於未被自動掃描的類。爲了解決這個問題,我建議將代碼的結構更新到structure that is advised in the documentation。解決這個問題的另一種方法是嘗試手動指定@ComponentScan

+0

謝謝! Slava,是的,我也想到我的包裝結構。我使用了Spring工具Suite 3.7.2.RELEASE,並在「com.example」下創建了我的「控制器」包,但IDE沒有將「com.example」作爲子包裝。也許STS 3.7.2有一些錯誤呢?我沒有更新到最新的STS版本。 – zoram

+0

我不知道它是否是STS中的錯誤。另外我不使用STS。你是否已經試圖將'IndexController'從'controllers'移動到'com.example.controllers'? –

+0

感謝大家!是的,它現在工作。控制器包現在位於包com.example.comtrollers;我完全與Spring STS IDE和IntelliJ IDEA IDE及其項目結構混淆。這兩個IDE有完全不同的封裝結構嗎? – zoram