@RequestMapping對應的@RequestParam,@RequestHeader與@CookieValue

一個請求包含了一個請求的網址+請求頭+請求體。可以利用@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";
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章