以上四種註解都是註解在類上的,被註解的類將被spring初始化為bean物件,然後統一管理。
用於處理請求位址對映,可以作用於類和方法上。
method:定義地request址請求的方式,包括【get, post, head, options, put, patch, delete, trace】,預設接受get請求,如果請求方式和定義的方式不一樣,則請求無法成功。
params:定義request請求中必須包含的引數值。
consumes:定義請求提交內容的型別。
produces:指定返回的內容型別,僅當request請求頭中的(accept)型別中包含該指定型別才返回
public string getindex()
上面**表示請求的方式為get請求,請求引數必須包含name=sdf
這一引數,然後請求頭中必須有accept-encoding=gzip, deflate, br
這個型別頭。
這樣通過註解就能對乙個請求進行約束了。
用於獲取傳入引數的值。
public string requestparams1(@requestparam(required = false) string name)
public string requestparams2(@requestparam(value = "name",required = false) string names)
兩種請入參方式是一樣的,顯示宣告value的名稱時,入參引數名和value一樣,沒有顯示宣告的話,像第一種方式宣告的,入參引數名和函式引數變數名一樣。
用於定義路徑引數值。
public string pathvariable2(@pathvariable(value = "myname") string name)
這個路徑宣告了作為路徑引數,那麼這一段路徑將為任意值,@pathvariable將可以根據value獲取路徑的值。
作用於方法上,可以將整個返回結果以某種格式返回,如json或xml格式。
@responsebody
public string pathvariable2(@pathvariable(value = "myname") string name)
和上一段例子一樣,只是新增了@responsebody標籤,然後返回結果為:
它返回的不是乙個頁面,而是把字串「index」直接在頁面列印出來了,這其實和如下**時類似的。
printwriter out = response.getwriter();
out.print("index");
out.flush();
public string requestparams(@cookievalue("jsessionid") string cookie)
用於把引數儲存到model中,可以註解方法或引數,註解在方法上的時候,該方法將在處理器方法執行之前執行,然後把返回的物件存放在 session(前提時要有@sessionattributes註解) 或模型屬性中
@modelattribute(「attributename」) 在標記方法的時候指定,若未指定,則使用返回型別的類名稱(首字母小寫)作為屬性名稱。
@modelattribute("user")
public userentity getuser()
public string getusers(@modelattribute("user") userentity user)
如上**中,使用了@modelattribute(「user」)註解,在執行控制器前執行,然後將生成乙個名稱為user的model資料,在控制器中我們通過註解在引數上的@modelattribute獲取引數,然後將model應用到控制器中,在jsp頁面中我們同樣可以使用它
$
body>
預設情況下spring mvc將模型中的資料儲存到request域中。當乙個請求結束後,資料就失效了。如果要跨頁面使用。那麼需要使用到session。而@sessionattributes註解就可以使得模型中的資料儲存乙份到session域中。配合@modelattribute(「user」)使用的時候,會將對應的名稱的model值存到session中
}結合上乙個例子的**,加了@sessionattributes註解,然後請求了兩次,第一次session中不存在屬性名為user的值,第二次請求的時候發現session中就有了,這是因為第一次請求時,model資料還未儲存到session中,請求結束返回的時候才儲存,在第二次請求的時候已經可以獲取上一次的model了,
注意:@modelattribute(「user」) userentity user獲取註解內容的時候,會先查詢session中是否有對應的屬性值,沒有才去查詢model。
SpringMVC常用註解整理
1 類定義處 對當前handler中的所有的方法都起作用,相當於初步的請求對映 2 方法處 對當前的方法起作用,提供進一步的細分對映資訊。3 類定義 方法處 請求處理方法的請求對映變成 類定義處 方法定義處 註解的屬性 value 預設屬性,用於對映請求url method 用於對映請求方式 get...
常用SpringMVC註解整理
最近在學習springmvc,打算在學完之後寫一兩個專案再出他的整體思想 的部落格,這裡記錄一下學習過程中預計以後會用到的註解,和spring一樣,但是由於更換硬碟後,某些資料沒有很好的備份丟失了,spring的註解集合也在其中,不夠這並不妨礙之後的編寫,方便複習,給你看的同時,也給我自己看。作用 ...
SpringMVC常用註解
一,controller 負責註冊乙個bean 到spring 上下文中,bean 的id 預設為類名稱開頭字母小寫。1 在springmvc 的配置檔案中定義mycontroller 的bean 物件。2 在springmvc 的配置檔案中告訴spring 該到 去找標記為 controller ...