前言:
今天在做項目中遇到了一個問題,項目啟動成功,但是前段訪問接口始終訪問不成功,頁面一直在404,百度了一番無非兩種解決方案:
一、解決方案
1.項目是boot項目查看啟動類的位置是否放置正確
要將Application類放在最外側,即包含所有子包
2.啟動類添加參數@SpringBootApplication(scanBasePackages="controller")
啟動類添加注釋,指定你的controller的位置,就可以指定加載,成功解決問題。
3.查看controller層注解
要用@RestController或者@Controller和@ResponseBody
特此引出了一個問題
@Controller和@RestController的區別
共同點:
- 都是用來表示Spring某個類的是否可以接收HTTP請求
不同點:
-
@RestController是@Controller和@ResponseBody的結合體,兩個標注合並起來的作用。
-
如果只是使用@RestController注解Controller,則Controller中的方法無法返回jsp頁面,配置的視圖解析器InternalResourceViewResolver不起作用,返回的內容就是Return 里的內容。 例如:本來應該到success.jsp頁面的,則其顯示success.
-
如果需要返回到指定頁面,則需要用 @Controller配合視圖解析器InternalResourceViewResolver才行。
-
如果需要返回JSON,XML或自定義mediaType內容到頁面,則需要在對應的方法上加上@ResponseBody注解。
二、問題說明
出現這個異常說明了跳轉頁面的url無對應的值,日后在發現新的原因再進行記錄