第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
  • RESTful 風(fēng)格的重點(diǎn):

    構(gòu)成: 資源 -- 表現(xiàn)層 -- 狀態(tài)轉(zhuǎn)化

    查看全部
    0 采集 收起 來(lái)源:RESTful小擴(kuò)展

    2019-08-14

  • RESTful 風(fēng)格的GET、POST、PUT、DELET請(qǐng)求接口,常見(jiàn)以ID來(lái)標(biāo)識(shí)某個(gè)資源,并通過(guò)查找 ID 來(lái)達(dá)到獲取目標(biāo)資源或刪改某個(gè)數(shù)據(jù)的目的

    查看全部
    0 采集 收起 來(lái)源:RESTful小擴(kuò)展

    2019-08-14

  • RESTful 狀態(tài)轉(zhuǎn)化 :

    GET 、POST、PUT、DELETE 的特點(diǎn)
    查看全部
    0 采集 收起 來(lái)源:RESTful小擴(kuò)展

    2019-08-14

  • RESTful 表現(xiàn)層的內(nèi)容<br/>
    查看全部
    0 采集 收起 來(lái)源:RESTful小擴(kuò)展

    2020-09-11

  • SpringMVC? 數(shù)據(jù)綁定的擴(kuò)展性
    查看全部
    0 采集 收起 來(lái)源:介紹

    2019-08-14

  • springMVC
    查看全部
  • 資源,表現(xiàn)層,狀態(tài)轉(zhuǎn)化


    查看全部
    0 采集 收起 來(lái)源:RESTful小擴(kuò)展

    2019-07-15

  • 同屬性多對(duì)象綁定

    @InitBinder(“a”)

    public void initA(WebDataBinder binder){

    binder.setFieldDefaultPrefix("a.");

    }

    @InitBinder("b")

    public void initB(WebDataBinder binder){

    binder.setFieldDefaultPrefix("b.");

    }

    查看全部
    0 采集 收起 來(lái)源:同屬性的多對(duì)象

    2019-07-15

  • 本章主要介紹SpringMVC提供的PropertyEditor和自定義Formatter、Converter的使用場(chǎng)景、解決的實(shí)際的問(wèn)題以及Formatter和Converter的簡(jiǎn)單對(duì)比和選型依據(jù)

    知識(shí)點(diǎn)1:

    【a】PropertyEditor:屬性編輯器,一般用于類(lèi)型轉(zhuǎn)換,它是一個(gè)接口,有很多實(shí)現(xiàn)類(lèi),常用直接下級(jí)實(shí)現(xiàn)類(lèi)是PropertyEditorSupport,該類(lèi)常用方法有。

    setValue(Object value):一般自定義類(lèi)型轉(zhuǎn)換器調(diào)用并傳入一個(gè)實(shí)體類(lèi)對(duì)象。

    getValue():一般通過(guò)自定義類(lèi)型轉(zhuǎn)換器對(duì)象調(diào)用該方法就可以獲得實(shí)體類(lèi)對(duì)象。

    setAsText(String text):通常傳入一個(gè)字符串,并對(duì)該字符串進(jìn)行解析,然后對(duì)實(shí)體類(lèi)屬性進(jìn)行賦值。

    實(shí)現(xiàn)PropertyEdito接口時(shí),通常不直接實(shí)現(xiàn)接口PropertyEditor,而是繼承PropertyEditorSupport類(lèi)進(jìn)行擴(kuò)展。

    案例:創(chuàng)建一個(gè)名為MyPropertyEditor的自定義類(lèi)型轉(zhuǎn)換器,并繼承PropertyEditorSupport,這樣就可以使用接口PropertyEditor提供的方法,實(shí)現(xiàn)setAsText(String text)方法,該方法里創(chuàng)建User對(duì)象,并對(duì)傳進(jìn)來(lái)的字符串用逗號(hào)分隔成字符串?dāng)?shù)組,把字符串?dāng)?shù)組第0個(gè)元素賦值給User對(duì)象的name,字符串?dāng)?shù)組的第1個(gè)元素賦值給User對(duì)象的age,再通過(guò)setValue(Object obj),把User對(duì)象傳入,這樣做的目的,就可以和前端約定,第一個(gè)字符在逗號(hào)前面的傳名字,第二個(gè)字符在逗號(hào)后面的傳年齡,這樣通過(guò)自定義的Editor就可以使用User對(duì)象進(jìn)行接收。

    擴(kuò)展:getValue()方法源碼實(shí)現(xiàn)——它會(huì)返回一個(gè)Object對(duì)象,源碼中返回的是一個(gè)value屬性,而這個(gè)value就是PropertyEditorSupport的Object類(lèi)型的屬性

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

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

    案例:創(chuàng)建自定義格式化類(lèi)型轉(zhuǎn)化器FormatterTest

    test1()方法中,創(chuàng)建CurrencyFormatter對(duì)象,該對(duì)象調(diào)用setFractionDigits(2),該方法是用來(lái)保留小數(shù)點(diǎn)后幾位的,該對(duì)象再調(diào)用setRoundingMode(RoundingMode.CEILING),該方法是用作舍入操作,celling表示四舍五入,接著通過(guò)Assert類(lèi)的assertEquals()斷言方法,拿123.13和123.125進(jìn)行斷言。


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


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

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


    總結(jié):內(nèi)置的CustomDateEditor(它繼承了PropertyEditorSupport),內(nèi)置的CurrencyFormatter(它繼承了AbstractNumberFormatter),內(nèi)置的StringToBooleanConverter(它實(shí)現(xiàn)了Converter<String,Boolean>),就擴(kuò)展性來(lái)說(shuō),這里所說(shuō)擴(kuò)展性都是Spring內(nèi)置擴(kuò)展性,Converter不可擴(kuò)展,PropertyEditor一般局部使用配合webdatabinder使用,F(xiàn)ormatter全局局部都可以,全局是通過(guò)Spring注入的方式,局部就像單元測(cè)試那樣,new一個(gè)Formatter,然后調(diào)用它的方法,Converter全局和局部都可以,全局也是通過(guò)Spring注入的方式,局部也是自己實(shí)現(xiàn)Converter接口,寫(xiě)一個(gè)實(shí)現(xiàn),然后new這個(gè)實(shí)現(xiàn)類(lèi)。


    查看全部
    1 采集 收起 來(lái)源:介紹

    2019-07-04

  • SpringMVC——xml的數(shù)據(jù)綁定

    案例:綁定xml數(shù)據(jù)類(lèi)型,也是通過(guò)RequestBody數(shù)據(jù)區(qū)獲取xml數(shù)據(jù)

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

    步驟1:該功能需要如下依賴(lài),該包完成xml數(shù)據(jù)的序列化和反序列化功能。

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


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

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

    XML數(shù)據(jù):

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

    輸出:

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




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

    知識(shí)點(diǎn)1:SpringMVC——Json數(shù)據(jù)綁定

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

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





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


    JSON通過(guò)如下進(jìn)行支持:也就是將JSON數(shù)據(jù)綁定到實(shí)體中

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


    查看全部
  • SpringMVC的RESTful實(shí)現(xiàn)方式

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

    【2】名稱(chēng):Fielding將他對(duì)互聯(lián)網(wǎng)軟件的架構(gòu)原則,定名為REST,即Representational State Transfer(表現(xiàn)層、狀態(tài)、轉(zhuǎn)化)的縮寫(xiě),如果一個(gè)架構(gòu)符合REST原則,就稱(chēng)它為RESTful架構(gòu)(完整全稱(chēng):Resource Representational State Transfer)。

    【3】資源-Resource:例如一個(gè)文本、圖片、服務(wù)、音頻、網(wǎng)絡(luò)上的一個(gè)具體信息,可以通過(guò)統(tǒng)一資源定位符uri指向它。

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

    案例:理解RESTful表現(xiàn)層——Representational

    book是一個(gè)資源,通過(guò)http的content-type獲取不同的格式

    【5】狀態(tài)轉(zhuǎn)化

    【6】設(shè)計(jì)


    查看全部
    0 采集 收起 來(lái)源:RESTful小擴(kuò)展

    2019-07-01

  • PropertyEditor的應(yīng)用

    案例:Controller中有個(gè)方法,并且該方法的參數(shù)為Date類(lèi)型。如下圖,此時(shí)如果直接通過(guò)url傳入日期數(shù)據(jù),會(huì)報(bào)400錯(cuò)誤,說(shuō)明參數(shù)是有問(wèn)題的。

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

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

    CustomDateEditor類(lèi):MVC編碼中,該Editor經(jīng)常被注冊(cè),通過(guò)使用binder.registerCustomEditor(這個(gè)binder就是之前admin和user

    擁有同樣的name和age,方法里有個(gè)WebDataBinder類(lèi)型的binder)

    registerCustomEditor():它是WebDataBinder對(duì)象的方法,該方法在它的父類(lèi)DataBinder中繼承來(lái)的,該方法中通過(guò)getPropertyEditorRegistry()獲得PropertyEditorRegistry對(duì)象,它就代表一個(gè)注冊(cè),PropertyEditorRegistry是一個(gè)接口,該接口有很多實(shí)現(xiàn)類(lèi),其中一個(gè)PropertyEditorRegistrySupport實(shí)現(xiàn)類(lèi),該類(lèi)有一個(gè)Map類(lèi)型的defaultEditors和customEditors,defaultEditors是這個(gè)類(lèi)創(chuàng)建的時(shí)候,SpringMVC自動(dòng)生成defaultEditors。customEditors需要人工手動(dòng)進(jìn)行注冊(cè),所謂注冊(cè)過(guò)程就是把Map進(jìn)行一個(gè)put的操作,這里可以通過(guò)createDefaultEditors()了解它defaultEditors是如何搜索的,首先對(duì)defaultEditors成員變量進(jìn)行聲明,聲明成一個(gè)HashMap長(zhǎng)度為64,然后會(huì)放入很多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對(duì)于customEditors:下面圖片中的上面的registerCustomEditor方法是下面registerCustomEditor方法的重載,中間差了一個(gè)參數(shù),該參數(shù)就是String propertyPath參數(shù),如果上面的方法傳入了一個(gè)null,就會(huì)調(diào)用下面的方法。

    https://img1.sycdn.imooc.com//5d14afa30001880f09710410.jpg對(duì)于Date數(shù)據(jù)類(lèi)型綁定:

    通過(guò)@InitBinder("date1")注解,并且在initDate1方法中WebDataBinder對(duì)象調(diào)用registerCustomEditor(),把這個(gè)東西進(jìn)行注冊(cè),因?yàn)槟J(rèn)注冊(cè)是沒(méi)有Date類(lèi)型的,但是PropertyEditorSupport進(jìn)行了擴(kuò)展,支持很多子類(lèi),并把Date類(lèi)型,轉(zhuǎn)換成CustomDateEditor類(lèi)型,通過(guò)CustomDateEditor的構(gòu)造器了解,一個(gè)參數(shù)是DateFormat一個(gè)參數(shù)是allowEmpty類(lèi)型,這里new一個(gè)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的使用場(chǎng)景、解決的實(shí)際的問(wèn)題以及Formatter和Converter的簡(jiǎn)單對(duì)比和選型依據(jù)

    知識(shí)點(diǎn)1:自定義類(lèi)型轉(zhuǎn)換器

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

    案例:創(chuàng)建一個(gè)名為MyPropertyEditor的自定義轉(zhuǎn)換器,并繼承PropertyEditorSupport,實(shí)現(xiàn)setAsText(String text)方法,該方法里創(chuàng)建User對(duì)象,并對(duì)傳進(jìn)來(lái)的字符串用逗號(hào)分隔成字符串?dāng)?shù)組,把字符串?dāng)?shù)組第一個(gè)元素賦值給User對(duì)象的name,字符串?dāng)?shù)組的第二個(gè)元素賦值給User對(duì)象的age,再通過(guò)setValue(Object obj),把User對(duì)象傳入,這樣做的目的,前端就可以通過(guò)逗號(hào)前傳name逗號(hào)后傳age傳參數(shù)了。

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

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

    案例:創(chuàng)建自定義格式化類(lèi)型轉(zhuǎn)化器FormatterTest

    test1()方法中,創(chuàng)建CurrencyFormatter對(duì)象,該對(duì)象調(diào)用setFractionDigits(2),該方法是用來(lái)保留小數(shù)點(diǎn)后幾位的,該對(duì)象再調(diào)用setRoundingMode(RoundingMode.CEILING),該方法是用作舍入操作,celling表示四舍五入,接著通過(guò)Assert類(lèi)的assertEquals()斷言方法,拿123.13和123.125進(jìn)行斷言。

    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:格式化器,它也是接口,該接口有兩個(gè)泛型Converter<S,T>(其中<S>是source的類(lèi)型,<T>是target的類(lèi)型),它的實(shí)現(xiàn)類(lèi)很多,例如NumberToCharacterConverter,把數(shù)字轉(zhuǎn)換為字符,這里使用StringToBooleanConverter進(jìn)行講解,它實(shí)現(xiàn)了Converter<String,Boolean>接口,而且修飾的類(lèi)使用的是final修飾符而不是public,原因是防止該類(lèi)被修改、被繼承,Converter接口不讓實(shí)現(xiàn)類(lèi)進(jìn)行擴(kuò)展,而Formatter不一樣,它可以使用CurrentFormatter繼承Formatter接口的實(shí)現(xiàn)類(lèi)AbstractNumberFormatter,可以進(jìn)行擴(kuò)展。

    案例:首先在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總結(jié):內(nèi)置的CustomDateEditor(它繼承了PropertyEditorSupport),內(nèi)置的CurrencyFormatter(它繼承了AbstractNumberFormatter),內(nèi)置的StringToBooleanConverter(它實(shí)現(xiàn)了Converter<String,Boolean>),就擴(kuò)展性來(lái)說(shuō),這里所說(shuō)擴(kuò)展性都是Spring內(nèi)置擴(kuò)展性,Converter不可擴(kuò)展,PropertyEditor一般局部使用配合webdatabinder使用,F(xiàn)ormatter全局局部都可以,全局是通過(guò)Spring注入的方式,局部就像單元測(cè)試那樣,new一個(gè)Formatter,然后調(diào)用它的方法,Converter全局和局部都可以,全局也是通過(guò)Spring注入的方式,局部也是自己實(shí)現(xiàn)Converter接口,寫(xiě)一個(gè)實(shí)現(xiàn),然后new這個(gè)實(shí)現(xiàn)類(lèi)。

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

    查看全部
    0 采集 收起 來(lái)源:介紹

    2019-06-27

  • 本章主要介紹Json、Xml的數(shù)據(jù)綁定以及坑

    知識(shí)點(diǎn)1:SpringMVC——Json數(shù)據(jù)綁定

    案例:Controller中方法參數(shù)為User類(lèi)型對(duì)象,傳輸Json時(shí),Json數(shù)據(jù)被放到RequestBody里,所以需要在User前+@RequestBody注解(它會(huì)把RequestBody數(shù)據(jù)區(qū)的內(nèi)容反序列化為該參數(shù)的對(duì)象),這里使用DHC插件,該插件可以模擬各種請(qǐng)求,這里請(qǐng)求為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通過(guò)如下進(jìn)行支持

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

    查看全部

舉報(bào)

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

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購(gòu)買(mǎi)該課程,無(wú)需重復(fù)購(gòu)買(mǎi),感謝您對(duì)慕課網(wǎng)的支持!