日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringMVC小结

發布時間:2024/8/26 javascript 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringMVC小结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一放下就生疏,所以要溫故,所以要筆記。

?

Tip,多數情況下,SpringMVC建議單例執行,Struts2建議多例執行。

原因就在于Struts2使用屬性驅動或模型驅動,而SpringMVC則使用方法的形參接收參數。后者的方法在調用后數據就會銷毀。

?

前提一,SpringMVC的執行流程:DispatcherServlet - HandlerMapping - HandlerAdapter - ViewResolver。

其實就是解析Url,調用合適的Handler,處理Handler的返回數據(ModelAndView,查源碼可知其本質仍是操作request和response)。

注意,SpringMVC的Handler又叫Controller,概念可類比Struts2的Action。

前提二,SpringMVC的使用有傳統代碼注解兩種方式。兩種方式需要在xml中配置的HandlerMapping和HandlerAdapter是不同的。

前提三,SpringMVC可以開啟RESTful風格訪問。

前提四,xml配置文件中的標簽都有對應的類或接口,所以如果不知道怎么配置,可以查找對應的類或接口。

?

Handler(Controller)的實現方式:

①(非注解)實現Controller接口;

②(非注解)實現HttpRequestHandler接口;

③(注解)@Controller@RequestMapping@RequestParam@PathVariable等。

非注解方式需要實現接口的方法,每次實現都只能對應一個Controller,不方便,僅作了解即可。

注解方式,靈活多變(方法有多種返回類型,方法返回的數據有多種操作方式),當是最佳選擇。

?

Handler(Controller)中方法的形參類似Struts2中Action的屬性或模型,通過不同的形參可以注入不同的對象(如request,pojo等)。

如:

@RequestMapping(value = "/xxx", method = { RequestMethod.POST, RequestMethod.GET }) public String xxx(HttpServletRequest request) throws Exception {request.setAttribute("xxx", xxx);return "abc/xxx";// return "redirect:xxx.action"; //路徑是相對于當前方法路徑的上一級路徑。// return "forward:xxx.action"; //路徑是相對于當前方法路徑的上一級路徑。// 其實就是類內的action。 }

上面就是通過形參注入了request對象,從而可以在方法內部操作該對象。

?

?

---------------------------------------------------------------------

SpringMVC已加入了RESTful支持。RESTful是面向資源的架構思想,個人理解:對資源的訪問及處理是其重點。

SpringMVC通過以下三點來保證(個人理解):

??? 【】【】@ResponseBody使Controller【直接返回數據】,而不是直接指向具體的視圖;同時通過MessageConverter和produces="text/plain;charset=UTF-8"可以返回各種格式的數據(XML,json,RSS,TEXT,字節流等)。
?? ?【】【】@ResponseBody就是對應了HTTP協議里的響應體!!!
?? ?【】【】ResponseEntity可以認為是ResponseHeader+ResponseBody。
?? ?
?? ?以上三點(直接返回數據而非頁面、對應響應體、響應頭和響應體),都是針對RESTful風格所需。務必理解啊。

??? Controller方法直接返回ResponseEntity對象,@ResponseBody將該對象轉成符合格式的數據,然后直接返回。

?

轉載于:https://www.cnblogs.com/larryzeal/p/5336042.html

總結

以上是生活随笔為你收集整理的SpringMVC小结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。