SpringMVC的註解和jQuery的配合使用

Spring 2.5之前,我們通過實現Controller接口或其實現來定義我們的處理器類。這個已經被我們@Deprecated
Spring2.5開始引入註解式處理器支持,通過@Controller和@RequestMapping註解來註解定義我們的處理器類。

這兩個註解要有處理器映射和處理器適配器的支持,也就是DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter的支持。

處理器: @Controller
處理器功能方法的映射規則: @RequestMapping
處理器功能處理方法參數上的綁定: @RequestParam
請求參數到命令對象的綁定: @ModelAttribute
Session級別存儲的屬性, @SessionAttributes
自定義數據綁定註冊支持,用於將請求參數轉換到命令對象屬性的對用類型: @InitBinder

Spring3.1 使用新的HandlerMapping 和 HandlerAdapter來支持@Controller和@RequestMapping註解處理器

請求映射一般分爲以下幾種:
URL路徑映射:使用URL映射請求到處理器功能處理方法。
請求方法映射限定:如限定功能處理方法只處理GET請求。
請求參數映射限定:如限定只處理包含“abc”請求參數的請求。
請求頭映射限定:如限定只處理“Accpet=Application/json”的請求。


可以通過在一個POJO類上放置@Controller或@RequestMapping,即可把一個POJO類變成處理器。
@RequestMapping(value=“/hello”)請求URL(/hello)到處理器功能處理方法的映射。

擺脫了接口和任何類的繼承問題,只需要在對應的方法\類上放置相應的註解說明就好了。


要注意在servlet.xml中引入兩個支持器:DefaultAnnotationHandlerMapping
 和 AnnotationMethodHandlerAdapter。
<bean class = “xxx.xxx.xxx. DefaultAnnotationHandlerMapping” />

還需要將處理器實現類註冊到Spring配置文件即可,spring能夠根據註解自動發現處理器。

@Controller 加在類上,表示是一個處理器
@RequestMapping 加在類上,表示窄化功能處理方法的映射。還可以用在方法上。

窄化請求映射可以認爲是方法級別的@RequestMapping繼承類級別的@RequestMapping。

http請求信息包含六部分信息:
①請求方法,如GET或POST,表示提交的方式;
②URL,請求的地址信息;
③協議及版本;
④請求頭信息(包括Cookie信息);
⑤回車換行(CRLF);
⑥請求內容區(即請求的內容或數據),如表單提交時的參數數據、URL請求參數(?abc=123 ?後邊的)等。
想要了解HTTP/1.1協議,請訪問http://tools.ietf.org/html/rfc2616。
那此處我們可以看到有①、②、④、⑥一般是可變的,因此我們可以這些信息進行請求到

使用JQuery中的
jQuery.post( url, [data], [callback], [type] ) :使用POST方式來進行異步請求參數:
url (String) : 發送請求的URL地址.
data (Map) : (可選) 要發送給服務器的數據,以 Key/value 的鍵值對形式表示。
callback (Function) : (可選) 載入成功時回調函數(只有當Response的返回狀態是success纔是調用該方法)。
type (String) : (可選)官方的說明是:Type of data to be sent。其實應該爲客戶端請求的類型(JSON,XML,等等)

然後再類中使用
@RequestMapping(value=””) 找到對應的URL值


一般的項目都是從配置文件開始,初始化各種所需要的Bean,然後從 web.xml 文件中找到 login 的登錄界面。然後由前臺 JSP 頁面發起一個 jQuery 的請求,可以是異步的 Ajax 請求(例如 $function ( $.ajax(……) ),這樣就能從Url 中對應找到相應註解的類的@RequestMapping(……)

發佈了20 篇原創文章 · 獲贊 5 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章