原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處
上章講到了框架的搭建,在搭建框架的過程中我們用到了兩個注解,一個是@Controller,另一個是@RequestMapping,其中@Controller用來標記控制器,@RequestMapping用來映射地址,下面來詳細講講這兩個注解的用法。
<mvc:annotation-driven />
然后我們新建一個controller,用@Controller注解標記,在里面寫一個方法return一個字符串”dayaoguai”(由于沒有設置字符編碼,所以用拼音):
@Controller
@RequestMapping(value = "/json")
public class JsonController {
@RequestMapping(value = "/test")
public String jsonTest(){
return "dayaoguai";
}
}
寫好之后我們啟動項目,訪問這個地址:
恩,頁面直接404了
控制臺也報了個錯,至于為什么會這樣,以后的課程中你就會知道原因了。
那么我們將@Controller換成@RestController試試:
@RestController
@RequestMapping(value = "/json")
public class JsonController {
@RequestMapping(value = "/test")
public String jsonTest(){
return "dayaoguai";
}
}
頁面成功打印了dayaoguai,而控制臺什么都沒報。其實這就是返回了json格式的數據了,大家下去可以將”dayaoguai”這個字符串換成一個json字符串(一般用fastjson將對象轉成json字符串)試試。
總結下異同:
@RequestMapping(value = "/test", method = RequestMethod.POST)
public void test(){
System.out.println("進來了");
}
改完運行之后再訪問:@RequestMapping(value = "/restful/{id}")
public void restful(@PathVariable int id){
System.out.println(id);
}
這里我們還有另外兩種寫法:@RequestMapping(value = "/restful/{id}")
public void restful(@PathVariable("id") int userId){
System.out.println(userId);
}
@RequestMapping(value = "/restful/{id}")
public void restful(@PathVariable(value="id") int userId){
System.out.println(userId);
}
兩種方式的效果是一樣的。總結:
另外附上項目源碼:https://share.weiyun.com/72baeaceadb60a087a22f10309deb0ce