一個請求包含了一個請求的網址+請求頭+請求體。可以利用@RequestMapping註解解析請求網址如何解析到請求頭和請求體呢?
@RequestParam註解用於解析請求參數
<form action="helloworld" method="post">
<input type="text" name="username">
<input type="password" name ="password">
<input type="submit" value="POST">
</form>
@Controller
public class Distributor {
@RequestMapping(value = "/helloworld", method = RequestMethod.POST)
public String distribute2Success2(@RequestParam(value="username") String username, @RequestParam(value="password") String password) {
System.out.println(username);
System.out.println(password);
return "success";
}
}
這樣就可以解析出請求參數;但是如果請求參數爲空就會報錯
有三個參數,value爲參數名,required爲是否是必須的參數,默認爲true
defaultValue默認值
@RequestParam(value="username", required=false, defaultValue = "xiaoming") String username
@RequestHeader用於解析請求頭的數據
@Controller
public class Distributor {
@RequestMapping(value = "/helloworld", method = RequestMethod.POST)
public String distribute2Success2(@RequestHeader(value="Host",required=false,defaultValue="hahaha") String host) {
System.out.println(host);
return "success";
}
}
程序執行打印localhost:8080
@CookieValue 註解解析Cookie對象的值
這裏有個JSESSIONID的值,我們解析該值
@Controller
public class Distributor {
@RequestMapping(value = "/helloworld", method = RequestMethod.POST)
public String distribute2Success2(@CookieValue(value="JSESSIONID",required=false,defaultValue="hahaha") String sessionId) {
System.out.println(sessionId);
return "success";
}
}