樓主前兩天自學spring boot,而後在學習的過程當中,出現一個疑問,就是如何去訪問靜態的html網頁,這個問題,樓主上網上搜了下,找到的是在resource目錄下創建一個templates文件夾,而後html網頁放在其文件夾下:html
而後樓主照作,發現仍是訪問不了,而後發現是須要寫一個controller訪問而後跳轉,那就又寫了一個controller,截圖以下:spring
作完後,發現仍是不行,這時候發現須要在pom中添加這個依賴json
而後仍是不行,這時候樓主就納悶了,沒問題啊,後來通過一段時間對比,發現,樓主的註解寫錯了,不該該寫@RestController,應該寫@Controller,而後樓主就新建了一個Controller,截圖以下:jsp
這樣配置後,進行測試,結果發現是能夠的:學習
那麼問題來了,爲何換了controller註解就行了呢?測試
咱們來對比下restController和controller的區別:rest
@RestController is a stereotype annotation that combines @ResponseBody and @Controller.
意思是:
@RestController註解至關於@ResponseBody + @Controller合在一塊兒的做用。
xml
1)若是隻是使用@RestController註解Controller,則Controller中的方法沒法返回jsp頁面,配置的視圖解析器InternalResourceViewResolver不起做用,返回的內容就是Return 裏的內容。htm
例如:原本應該到success.html頁面的,則其顯示success.blog
2)若是須要返回到指定頁面,則須要用 @Controller配合視圖解析器InternalResourceViewResolver才行。
3)若是須要返回json或者xml或者自定義mediaType內容到頁面,則須要在對應的方法上加上@ResponseBody註解