springmvc獲取參數

@RequestParam

@RequestParam 用來請求request中的參數,至關於request.getParameter() 其中有三個屬性:
一、value用來指定要取得參數的key
二、required 所取的參數是否必須存在,若是true表示必須存在,若不存在則拋出異常
三、default 指定該value的默認值java

類實現代碼:spring

@RequestMapping("/requestParam")
    public String requestParam(
            @RequestParam(value = "id", required = false) Integer id) {

        System.out.println("the id is:" + id);

        return SUCCESS;

    }

測試請求代碼api

<a href="paramSelect/requestParam?id=10">RequestParam 測試</a>

@RequestHeader

用來獲取request頭中的信息,其中參數的使用方法同@RequestParammarkdown

類實現代碼cookie

@RequestMapping("/requestHeader")
    public String requestHeader(
            @RequestHeader(value = "User-Agent", required = true, defaultValue = "") String ua) {
        System.out.println("the User-Agent is:" + ua);
        return SUCCESS;

    }

測試請求代碼mvc

<a href="paramSelect/requestHeader">RequestHeader 測試</a>

@RequestMapping

用來獲取cookie中的參數,屬性使用同@RequestParmaapp

類實現代碼:ide

@RequestMapping("/cookieValue")
    public String cookieValue(@CookieValue(value = "JSESSIONID") String jid) {
        System.out.println("JSESSIONID is:" + jid);
        return SUCCESS;
    }

測試請求代碼:post

<a href="paramSelect/cookieValue">CookieValue 測試</a>

獲取javabean類型的參數(自動把參數封裝成javabean)

一、能夠把一個javabean看成請求參數傳入,要求表單中的屬性名稱與javabean中的成員變量能一一對應,則springmvc會自動匹配測試

二、傳入參數能夠級聯,如User中有一個birthday變量爲Birthday類型,也可自動匹配

類實現代碼

@RequestMapping("/postBean")
    public String postBean(User user) {
        System.err.println(user);
        return SUCCESS;
    }

User類:

public class User {
    private String username;
    private String password;

    private Birthday birthday;

    public User() {

    }

    public User(String username, String password, Birthday birthday) {
        super();
        this.username = username;
        this.password = password;
        this.birthday = birthday;
    }

    @Override
    public String toString() {
        return "User [username=" + username + ", password=" + password
                + ", birthday=" + birthday + "]";
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getpassword() {
        return password;
    }

    public void setpassword(String password) {
        this.password = password;
    }

    public Birthday getBirthday() {
        return birthday;
    }

    public void setBirthday(Birthday birthday) {
        this.birthday = birthday;
    }

}

Birthday類

public class Birthday {
    private int month;
    private int year;

    public Birthday() {

    }

    public Birthday(int month, int year) {
        super();
        this.month = month;
        this.year = year;
    }

    @Override
    public String toString() {
        return "Birthday [month=" + month + ", year=" + year + "]";
    }

    public int getMonth() {
        return month;
    }

    public void setMonth(int month) {
        this.month = month;
    }

    public int getYear() {
        return year;
    }

    public void setYear(int year) {
        this.year = year;
    }

}

請求測試代碼:

<form action="paramSelect/postBean" method="post">
    用戶名:<input type="text" name="username">
    <br>
    密碼:<input type="password" name="password">
    <br>
    出生月:<input type="text" name="birthday.month">
    <br>
    出生年:<input type="text" name="birthday.year">
    <br>
    <input type="submit" value="submit">
</form>

獲取Servlet API 中類型參數

在請求參數中能夠放入servlet中的api,springmvc會自動適配並傳入對應參數

可獲取的類型包括以下:

• HttpServletRequest
        • HttpServletResponse
        • HttpSession
        • java.security.Principal
        • Locale
        • InputStream
        • OutputStream
        • Reader
        • Writer

類實現代碼

@RequestMapping("/servletTest")
    public void servletTest(HttpServletRequest request,
            HttpServletResponse response) throws IOException {

        PrintWriter out = response.getWriter();
        System.out.println("Test success");
        out.println("Test success");

    }

測試請求方法:

<a href="paramSelect/servletTest">Servlet API 測試</a>
相關文章
相關標籤/搜索