亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • RESTful 風格的重點:

    構成: 資源 -- 表現層 -- 狀態轉化

    查看全部
    0 采集 收起 來源:RESTful小擴展

    2019-08-14

  • RESTful 風格的GET、POST、PUT、DELET請求接口,常見以ID來標識某個資源,并通過查找 ID 來達到獲取目標資源或刪改某個數據的目的

    查看全部
    0 采集 收起 來源:RESTful小擴展

    2019-08-14

  • RESTful 狀態轉化 :

    GET 、POST、PUT、DELETE 的特點
    查看全部
    0 采集 收起 來源:RESTful小擴展

    2019-08-14

  • RESTful 表現層的內容<br/>
    查看全部
    0 采集 收起 來源:RESTful小擴展

    2020-09-11

  • SpringMVC? 數據綁定的擴展性
    查看全部
    0 采集 收起 來源:介紹

    2019-08-14

  • springMVC
    查看全部
  • 資源,表現層,狀態轉化


    查看全部
    0 采集 收起 來源:RESTful小擴展

    2019-07-15

  • 同屬性多對象綁定

    @InitBinder(“a”)

    public void initA(WebDataBinder binder){

    binder.setFieldDefaultPrefix("a.");

    }

    @InitBinder("b")

    public void initB(WebDataBinder binder){

    binder.setFieldDefaultPrefix("b.");

    }

    查看全部
  • 本章主要介紹SpringMVC提供的PropertyEditor和自定義Formatter、Converter的使用場景、解決的實際的問題以及Formatter和Converter的簡單對比和選型依據

    知識點1:

    【a】PropertyEditor:屬性編輯器,一般用于類型轉換,它是一個接口,有很多實現類,常用直接下級實現類是PropertyEditorSupport,該類常用方法有。

    setValue(Object value):一般自定義類型轉換器調用并傳入一個實體類對象。

    getValue():一般通過自定義類型轉換器對象調用該方法就可以獲得實體類對象。

    setAsText(String text):通常傳入一個字符串,并對該字符串進行解析,然后對實體類屬性進行賦值。

    實現PropertyEdito接口時,通常不直接實現接口PropertyEditor,而是繼承PropertyEditorSupport類進行擴展

    案例:創建一個名為MyPropertyEditor的自定義類型轉換器,并繼承PropertyEditorSupport,這樣就可以使用接口PropertyEditor提供的方法,實現setAsText(String text)方法,該方法里創建User對象,并對傳進來的字符串用逗號分隔成字符串數組,把字符串數組第0個元素賦值給User對象的name,字符串數組的第1個元素賦值給User對象的age,再通過setValue(Object obj),把User對象傳入,這樣做的目的,就可以和前端約定,第一個字符在逗號前面的傳名字,第二個字符在逗號后面的傳年齡,這樣通過自定義的Editor就可以使用User對象進行接收。

    擴展:getValue()方法源碼實現——它會返回一個Object對象,源碼中返回的是一個value屬性,而這個value就是PropertyEditorSupport的Object類型的屬性

    https://img1.sycdn.imooc.com//5d1de6a70001010108040358.jpg

    【b】Formatter:格式化器,它是一個接口Formatter<T>,它繼承Printer<T>和Parser<T>,他有很多實現類(AbstractNumberFormatter、CurrencyFormatter貨幣轉換器、DateFormatter日期的轉換、InstanceFormatter、NumberFormatter、PercentFormatter百分比轉換器等),這里拿CurrencyFormatter講解(貨幣轉換器)(DateFormatter是做日期的格式化轉換器,PercentFormatter是做百分比的格式化轉換器)。

    案例:創建自定義格式化類型轉化器FormatterTest

    test1()方法中,創建CurrencyFormatter對象,該對象調用setFractionDigits(2),該方法是用來保留小數點后幾位的,該對象再調用setRoundingMode(RoundingMode.CEILING),該方法是用作舍入操作,celling表示四舍五入,接著通過Assert類的assertEquals()斷言方法,拿123.13和123.125進行斷言。


    案例2:將BigDecimal("123")格式化為字符串"$123.00"展示,CurrencyFormatter的parse方法返回值是BigDecimal,print方法返回值是String。


    【c】Converter:格式化器,它也是接口,該接口有兩個泛型Converter<S,T>(其中<S>是source的類型,<T>是target的類型),它的實現類很多,例如NumberToCharacterConverter,把數字轉換為字符,這里使用StringToBooleanConverter進行講解,它實現了Converter<String,Boolean>接口,而且修飾的類使用的是final修飾符而不是public,原因是防止該類被修改、被繼承,Converter接口不讓實現類進行擴展,而Formatter不一樣,它可以使用CurrentFormatter繼承Formatter接口的實現類AbstractNumberFormatter,可以進行擴展。

    案例:首先在dispatcher-servlet.xml中把StringToBooleanConverter注入,然后再配置<mvc:annotation-driven conversion-service="stringToBooleanConverter"/>


    總結:內置的CustomDateEditor(它繼承了PropertyEditorSupport),內置的CurrencyFormatter(它繼承了AbstractNumberFormatter),內置的StringToBooleanConverter(它實現了Converter<String,Boolean>),就擴展性來說,這里所說擴展性都是Spring內置擴展性,Converter不可擴展,PropertyEditor一般局部使用配合webdatabinder使用,Formatter全局局部都可以,全局是通過Spring注入的方式,局部就像單元測試那樣,new一個Formatter,然后調用它的方法,Converter全局和局部都可以,全局也是通過Spring注入的方式,局部也是自己實現Converter接口,寫一個實現,然后new這個實現類。


    查看全部
    1 采集 收起 來源:介紹

    2019-07-04

  • SpringMVC——xml的數據綁定

    案例:綁定xml數據類型,也是通過RequestBody數據區獲取xml數據

    https://img1.sycdn.imooc.com//5d1db34f000103c405580138.jpg

    步驟1:該功能需要如下依賴,該包完成xml數據的序列化和反序列化功能。

    https://img1.sycdn.imooc.com//5d1db3470001b07604130120.jpg


    步驟2:實體類中使用到兩個注解,分別為@XmlRootElement(name="admin")給類取別名和@XmlElement(name="name")用在屬性的get方法上,,如下圖

    https://img1.sycdn.imooc.com//5d1db3e20001ce8105480307.jpg

    XML數據:

    https://img1.sycdn.imooc.com//5d1db40800019ba407120323.jpg

    輸出:

    https://img1.sycdn.imooc.com//5d1db42a0001292403480162.jpg




    查看全部
  • 本章主要介紹Json、Xml的數據綁定以及坑

    知識點1:SpringMVC——Json數據綁定

    案例:Controller中方法參數為User類型對象,傳輸Json時,Json數據被放到RequestBody里,所以需要在User前+@RequestBody注解(它會把RequestBody數據區的內容反序列化為該參數的對象),這里使用DHC插件,該插件可以模擬各種請求,這里請求為POST,還需要把Content-Type,改成application/json如下

    https://img1.sycdn.imooc.com//5d1dafc10001f7a904910121.jpg





    返回值:https://img1.sycdn.imooc.com//5d1db0770001812605420247.jpg


    JSON通過如下進行支持:也就是將JSON數據綁定到實體中

    https://img1.sycdn.imooc.com//5d1db0b50001752204950152.jpg


    查看全部
  • SpringMVC的RESTful實現方式

    【1】起源:REST這個詞,是Roy Thomas Fielding在他2000年的博士論文中提出的,他同時是apache基金會的第一人主席,HTTP1.0和HTTP1.1版本的設計者之一

    【2】名稱:Fielding將他對互聯網軟件的架構原則,定名為REST,即Representational State Transfer(表現層、狀態、轉化)的縮寫,如果一個架構符合REST原則,就稱它為RESTful架構(完整全稱:Resource Representational State Transfer)。

    【3】資源-Resource:例如一個文本、圖片、服務、音頻、網絡上的一個具體信息,可以通過統一資源定位符uri指向它。

    【4】表現層-Representational:資源是一種信息實體,可以有多種的外在表現形式,資源的外在表現形式稱為Representational,即表現層,例如一個文本,它的表現形式可以有txt、html、xml、json、二進制,圖片的表現形式可以有jpg、png,uri代表實體資源的位置,并不代表表現形式,具體的表現形式通過http協議的content-type和accept這兩個字段進行描述。

    案例:理解RESTful表現層——Representational

    book是一個資源,通過http的content-type獲取不同的格式

    【5】狀態轉化

    【6】設計


    查看全部
    0 采集 收起 來源:RESTful小擴展

    2019-07-01

  • PropertyEditor的應用

    案例:Controller中有個方法,并且該方法的參數為Date類型。如下圖,此時如果直接通過url傳入日期數據,會報400錯誤,說明參數是有問題的。

    https://img1.sycdn.imooc.com//5d14aabf0001b22d03490132.jpg

    https://img1.sycdn.imooc.com//5d14aae80001d28105730195.jpg

    CustomDateEditor類:MVC編碼中,該Editor經常被注冊,通過使用binder.registerCustomEditor(這個binder就是之前admin和user

    擁有同樣的name和age,方法里有個WebDataBinder類型的binder)

    registerCustomEditor():它是WebDataBinder對象的方法,該方法在它的父類DataBinder中繼承來的,該方法中通過getPropertyEditorRegistry()獲得PropertyEditorRegistry對象,它就代表一個注冊,PropertyEditorRegistry是一個接口,該接口有很多實現類,其中一個PropertyEditorRegistrySupport實現類,該類有一個Map類型的defaultEditors和customEditors,defaultEditors是這個類創建的時候,SpringMVC自動生成defaultEditors。customEditors需要人工手動進行注冊,所謂注冊過程就是把Map進行一個put的操作,這里可以通過createDefaultEditors()了解它defaultEditors是如何搜索的,首先對defaultEditors成員變量進行聲明,聲明成一個HashMap長度為64,然后會放入很多defaultEditors

    https://img1.sycdn.imooc.com//5d14acc1000190e608460102.jpg

    https://img1.sycdn.imooc.com//5d14ad4d000174a004370142.jpghttps://img1.sycdn.imooc.com//5d14adbb00011dda06400360.jpghttps://img1.sycdn.imooc.com//5d14aef000010c5d07620452.jpg對于customEditors:下面圖片中的上面的registerCustomEditor方法是下面registerCustomEditor方法的重載,中間差了一個參數,該參數就是String propertyPath參數,如果上面的方法傳入了一個null,就會調用下面的方法。

    https://img1.sycdn.imooc.com//5d14afa30001880f09710410.jpg對于Date數據類型綁定:

    通過@InitBinder("date1")注解,并且在initDate1方法中WebDataBinder對象調用registerCustomEditor(),把這個東西進行注冊,因為默認注冊是沒有Date類型的,但是PropertyEditorSupport進行了擴展,支持很多子類,并把Date類型,轉換成CustomDateEditor類型,通過CustomDateEditor的構造器了解,一個參數是DateFormat一個參數是allowEmpty類型,這里new一個SimpleDateFormat

    https://img1.sycdn.imooc.com//5d14b1410001030504970191.jpg

    https://img1.sycdn.imooc.com//5d14b1410001d01b06570303.jpg


    https://img1.sycdn.imooc.com//5d14b20100013b8208100241.jpg

    https://img1.sycdn.imooc.com//5d14b2010001190b06670166.jpg


    查看全部
  • 本章主要介紹SpringMVC提供的PropertyEditor和自定義Formatter、Converter的使用場景、解決的實際的問題以及Formatter和Converter的簡單對比和選型依據

    知識點1:自定義類型轉換器

    【a】PropertyEditor:屬性編輯器,一般用于類型轉換,它是一個接口,有很多實現類,常用實現類是PropertyEditorSupport,該類常用方法有,setValue(Object value)、getValue(){返回的是Object類型的對象,這里返回的是通過setValue傳入的對象}、setAsText(String text),實現自定義PropertyEditor,通常不直接實現接口PropertyEditor,而是繼承PropertyEditorSupport進行擴展。

    案例:創建一個名為MyPropertyEditor的自定義轉換器,并繼承PropertyEditorSupport,實現setAsText(String text)方法,該方法里創建User對象,并對傳進來的字符串用逗號分隔成字符串數組,把字符串數組第一個元素賦值給User對象的name,字符串數組的第二個元素賦值給User對象的age,再通過setValue(Object obj),把User對象傳入,這樣做的目的,前端就可以通過逗號前傳name逗號后傳age傳參數了。

    https://img1.sycdn.imooc.com//5d143b3a0001372a10590611.jpg

    【b】Formatter:Formatter<T>格式化器,它是一個接口,繼承Printer<T>和Parser<T>,他有很多實現類,這里拿CurrencyFormatter講解(貨幣轉換器)(DateFormatter是做日期的格式化轉換器,PercentFormatter是做百分比的格式化轉換器)。

    案例:創建自定義格式化類型轉化器FormatterTest

    test1()方法中,創建CurrencyFormatter對象,該對象調用setFractionDigits(2),該方法是用來保留小數點后幾位的,該對象再調用setRoundingMode(RoundingMode.CEILING),該方法是用作舍入操作,celling表示四舍五入,接著通過Assert類的assertEquals()斷言方法,拿123.13和123.125進行斷言。

    https://img1.sycdn.imooc.com//5d1477230001bc2509680211.jpg

    案例2:將BigDecimal("123")格式化為字符串"$123.00"展示,CurrencyFormatter的parse方法返回值是BigDecimal,print方法返回值是String。

    https://img1.sycdn.imooc.com//5d14772d000126b209050180.jpg

    【c】Converter:格式化器,它也是接口,該接口有兩個泛型Converter<S,T>(其中<S>是source的類型,<T>是target的類型),它的實現類很多,例如NumberToCharacterConverter,把數字轉換為字符,這里使用StringToBooleanConverter進行講解,它實現了Converter<String,Boolean>接口,而且修飾的類使用的是final修飾符而不是public,原因是防止該類被修改、被繼承,Converter接口不讓實現類進行擴展,而Formatter不一樣,它可以使用CurrentFormatter繼承Formatter接口的實現類AbstractNumberFormatter,可以進行擴展。

    案例:首先在dispatcher-servlet.xml中把StringToBooleanConverter注入,然后再配置<mvc:annotation-driven conversion-service="stringToBooleanConverter"/>

    https://img1.sycdn.imooc.com//5d14802b0001265711470216.jpg

    https://img1.sycdn.imooc.com//5d1480bd000137ef08130183.jpghttps://img1.sycdn.imooc.com//5d1480e000013f1e06500329.jpghttps://img1.sycdn.imooc.com//5d1483130001471e06550155.jpg總結:內置的CustomDateEditor(它繼承了PropertyEditorSupport),內置的CurrencyFormatter(它繼承了AbstractNumberFormatter),內置的StringToBooleanConverter(它實現了Converter<String,Boolean>),就擴展性來說,這里所說擴展性都是Spring內置擴展性,Converter不可擴展,PropertyEditor一般局部使用配合webdatabinder使用,Formatter全局局部都可以,全局是通過Spring注入的方式,局部就像單元測試那樣,new一個Formatter,然后調用它的方法,Converter全局和局部都可以,全局也是通過Spring注入的方式,局部也是自己實現Converter接口,寫一個實現,然后new這個實現類。

    https://img1.sycdn.imooc.com//5d14856b00013f3a08550429.jpg

    查看全部
    0 采集 收起 來源:介紹

    2019-06-27

  • 本章主要介紹Json、Xml的數據綁定以及坑

    知識點1:SpringMVC——Json數據綁定

    案例:Controller中方法參數為User類型對象,傳輸Json時,Json數據被放到RequestBody里,所以需要在User前+@RequestBody注解(它會把RequestBody數據區的內容反序列化為該參數的對象),這里使用DHC插件,該插件可以模擬各種請求,這里請求為POST,還需要把Content-Type,改成application/json如下

    https://img1.sycdn.imooc.com//5d1361a10001258004820171.jpg

    https://img1.sycdn.imooc.com//5d1362ff000136c204380297.jpg

    https://img1.sycdn.imooc.com//5d1362ff0001114e11870590.jpg

    https://img1.sycdn.imooc.com//5d13633d00018fa409770351.jpg

    返回值:

    https://img1.sycdn.imooc.com//5d1363560001b46205940259.jpg

    JSON通過如下進行支持

    https://img1.sycdn.imooc.com//5d1363c10001569904610116.jpg

    查看全部

舉報

0/150
提交
取消
課程須知
學習本門課程前需要具備SpringMVC的基礎知識,可以觀看慕課網的《Spring MVC起步》課程;同時小伙伴們需要對Servlet相關知識要有一定掌握;本課程選用SpringMVC4.0版本。
老師告訴你能學到什么?
1、SpringMVC常用數據結構的綁定 2、SpringMVC數據綁定實際工作中容易踩到的坑 3、注解@InitBinder、@RequestParam、@RequestBody、@ResponseBody、@PathVariable注解的使用 4、PropertyEditor、Formatter、Converter。自定義格式化工具和類型轉換器 5、RESTful擴展

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!