中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

SpringMVC中HandlerAdapter適配器的作用是什么-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關(guān)SpringMVC中HandlerAdapter適配器的作用是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)公司專業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專業(yè)提供成都服務(wù)器托管,服務(wù)器租用,重慶服務(wù)器托管,重慶服務(wù)器托管,成都多線服務(wù)器托管等服務(wù)器托管服務(wù)。

DispatcherServlte的initHandlerAdapters方法根據(jù)配置文件信息把HandlerAdapter注冊到handlerAdapters(List)中。

如果在配置文件中沒有配置,默認(rèn)配置會讀取DispatcherServlte.properties文件,該文件中配置了三種HandlerAdapter:HttpRequestHandlerAdapter,SimpleControllerHandlerAdapter和AnnotationMethodHandlerAdapter。

SimpleControllerHandlerAdapter :繼承Controller方式所使用的適配器
HttpRequestHandlerAdapter   :HTTP請求處理器適配器
RequestMappingHandlerAdapter  :注解方式(@Controller)的處理器適配器

getHandler方法根據(jù)請求遍歷注冊到handlerAdapters中的適配器拿到對應(yīng)的適配器處理。

for (HandlerMapping hm : this.handlerMappings) {
		HandlerExecutionChain handler = hm.getHandler(request);
		if (handler != null) {
		  return handler;
		}
}

HandlerAdapter接口有三個方法:

SpringMVC中HandlerAdapter適配器的作用是什么

supports方法:是判斷該適配器是否支持這個HandlerMethod,就是當(dāng)?shù)玫揭粋€handler時,該接口子類該方法做判斷(就是類似handler instanceof Controller的判斷方式),用來得到適配這個handler的適配器子類。
handle方法:用來執(zhí)行控制器處理函數(shù),獲取ModelAndView 。就是根據(jù)該適配器調(diào)用規(guī)則執(zhí)行handler方法。

如果正常編寫調(diào)用,就需要使用多個if else判斷instance of

if(handler instanceof HttpRequestHandler){
 handle1();//HttpRequestHandler的處理方式
} else if (handler instanceof Controller){
 handle2();//Controller的處理方式
} else if (handler instanceof Servlet){
 handle3();//Servlet的處理方式
}

這種方法再添加新的處理器實現(xiàn)方式,就需要修改源碼,新增else添加處理邏輯,不符合對擴展開放,對修改關(guān)閉原則。使用了HandlerAdapter后,當(dāng)需要新增一種處理器(Controller)時,只需要新增一個HandlerAdapter即可,判斷邏輯在他的supports方法中,處理邏輯在handle中,不需要修改任何其他代碼。

看完上述內(nèi)容,你們對SpringMVC中HandlerAdapter適配器的作用是什么有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

分享文章:SpringMVC中HandlerAdapter適配器的作用是什么-創(chuàng)新互聯(lián)
分享路徑:http://www.rwnh.cn/article48/dpegep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄關(guān)鍵詞優(yōu)化、網(wǎng)站營銷靜態(tài)網(wǎng)站、網(wǎng)頁設(shè)計公司外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
武安市| 延川县| 包头市| 齐齐哈尔市| 灵川县| 临洮县| 石嘴山市| 上高县| 衡阳县| 德州市| 潍坊市| 新河县| 五家渠市| 威信县| 孟州市| 政和县| 阳信县| 大港区| 临潭县| 鹰潭市| 海原县| 凤翔县| 平果县| 沽源县| 察隅县| 毕节市| 无为县| 汉沽区| 东丰县| 吉木萨尔县| 遵义市| 堆龙德庆县| 电白县| 榆社县| 万宁市| 西平县| 漯河市| 赞皇县| 株洲县| 长沙市| 六枝特区|