- 接受servlet的內置對象
- 接受請求路徑中的佔位符
- 接受普通的請求參數
- 直接獲取cookie
- pojo對象的綁定。
- java基本數據類型。
- 集合的映射
第一個:綁定servlet內置對象
在Controller中獲取Servlet的內置對象(Request、 Response、Session)是非常簡單的,如下:
public void test (HttpServletRequest request) {-}
public void test (HttpServ1etResponse response) {_}
public void test (HttpSession session) {--}
獲取servlet中的內置對象。request , response. session需要那個對象,就在方法添加某個對象的參數即可
第二個:@PathVariable獲取佔位符中的參數
通過@PathVariable可以綁定佔位符參數到方法參數中,例如:@PathVariable(' "userld") Long userld
@PathVariable 也可以獲取到佔位符中的參數信息(注意:都給標註出來,就不會出現問題,簡單一句,佔位,參數都保持一至)
注意:是否把我們每個方法參數中的名字編譯到我們class文件中去,如果@PathVarialbe,如果沒有編譯就會報錯,不要省略
第三個:@RequestParam
注意:當defaultValue有值的時候,required自動修改成false。
當修改成false的時候參數username可以傳也可以不傳,如果沒有傳參,默認走defaultValue裏的值
第四個:@CookieValue
知識點回顧:
如何獲取指定的cookie值
Cookie[] cookies = request.getCookies();
對數組進行遍歷,根據cookie中的name 來找到對應的cookie
for(Cookie cookie : cookies){
cookie.getName().eq(“abc”);
cookie.getValue();獲取cookie中的值
}
可以通過springmvc的註解就可以直接獲取到cookie
注意:
Jsessionid是session的標識,存入在cookie裏面
訪問jsp頁面的時候cookie被創建,第一次創建request.getsession的時候(第一次獲取session對象的時候),一定是已經存在的cookie纔有jessionid
案例:
第五種:POJO對象綁定參數
SpringMVC會將請求過來的參數名和POJO實體中的屬性名進行匹配,如果名稱一致,將把值填充到對象中。
示例:
創建一個實體類
測試:(這裏今天通過url進行傳參)
第六個:Java的基本數據類型綁定
表單代碼:
<form action="/demos/demo1.action" method="post">
<div>姓名:</div>
<div><input name="name" value="張三"/></div>
<div class="clear"></div>
<div>年齡:</div>
<div><input name="age" value="20"/></div>
<div class="clear"></div>
<div>收入:</div>
<div><input name="income" value="100000"/></div>
<div class="clear"></div>
<div>結婚:</div>
<div>
<input type="radio" name="isMarried" value="true" checked="checked"/>是
<input type="radio" name="isMarried" value="false"/>否</div>
<div class="clear"></div>
<div>興趣:</div>
<div>
<input type="checkbox" name="interests" value="聽歌" checked="checked"/>聽歌
<input type="checkbox" name="interests" value="書法" checked="checked"/>書法
<input type="checkbox" name="interests" value="看電影" checked="checked"/>看電影
</div>
<div class="clear"></div>
<div><input type="submit" value="提交表單"/></div>
</form>
第七個:集合List綁定
如果方法需要接受的list集合,不能夠直接在方法中書寫List
List的綁定,需要將List對象包裝到一個類中才能綁定
要求:表單中的name的值
要求表單name的值, 和封裝的對象中的結合的屬性名一致。
如:
<form action="/hello2/show16.do">
用戶1:<input type="text" name="users[0].userName"/><br/>
用戶2:<input type="text" name="users[1].userName"/><br/>
用戶3:<input type="text" name="users[2].userName"/><br/>
<input type="submit" value="測試"/>
</form>
類:
把list封裝到一個(UserForm)對象中
這裏採用了pojo自動綁定