欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
傳統的Java Web MVC框架距離REST有多遠

李琨

到目前為止,傳統的Java Web MVC框架(Struts、WebWork、SpringMVC、etc.)還無(wú)法很好地支持REST風(fēng)格的架構設計。它們在設計之初時(shí)基本上都是圍繞著(zhù)基于HTML表單的交互模式來(lái)設計的,View的粒度難以達到單個(gè)頁(yè)面以下。不能把響應Ajax請求而返回的XML/JSON/純文本格式的數據簡(jiǎn)單地認為是WebMVC框架中的View,實(shí)際上這個(gè)時(shí)候這些數據的語(yǔ)義已經(jīng)與傳統的Web MVC架構中的View的語(yǔ)義相距甚遠。

傳統的WebMVC框架一個(gè)最大的問(wèn)題是它們看待URL的方式與REST有很大的差別。REST把服務(wù)器端所有的URL都當作是抽象的資源(相當于是面向對象設計中的接口),雖然WebMVC也強調不應該將硬編碼的URL(例如:http://www.xxx.com/yyy/zzz/abcd.jsp)直接暴露出來(lái),而應該通過(guò)某個(gè)Controller來(lái)暴露,將這個(gè)頁(yè)面配置為Controller的一個(gè)View,但是WebMVC框架并沒(méi)有有意識地將URL當作抽象的資源來(lái)看待和設計。

還有一個(gè)較為嚴重的問(wèn)題是傳統的Web MVC框架基本上都只支持GET和POST兩種HTTP方法,而不支持PUT和DELETE方法,而Servlet API是支持上述所有的HTTP方法的(支持doPut和doDelete方法)。

舉個(gè)例子,SpringMVC所支持的HTTP方法封裝在org.springframework.web.servlet.supportWebContentGenerator類(lèi)中,其中只有METHOD_HEAD、METHOD_GET、METHOD_POST幾個(gè)常量,而沒(méi)有METHOD_PUT、METHOD_DELETE,顯然其作者并不認為有必要支持HTTP的PUT和DELETE方法。

我沒(méi)有考察過(guò)Struts和WebWork,估計結果應該是一樣的,而且也沒(méi)有聽(tīng)說(shuō)過(guò)Strust和WebWork的作者有支持REST風(fēng)格架構設計的計劃。JSF呢?雖然GavinKing以前在某地說(shuō)過(guò)JSF完全可以支持REST,上次見(jiàn)面我沒(méi)有仔細向他請教這個(gè)問(wèn)題,但是可以肯定的是JSF從來(lái)就沒(méi)有把支持REST風(fēng)格的架構設計作為他們的核心目標之一。

所以在這個(gè)方面,Java社區要比Ruby社區落后很多了。目前只能脫離開(kāi)傳統的Web MVC框架,基于ServletAPI來(lái)建造一個(gè)符合REST要求的新的服務(wù)器端架構(當然,SpringIoC、Hibernate等框架仍然可以保留)。好在不需要我們親自來(lái)做這個(gè)事情,已經(jīng)有一些Java的服務(wù)器端框架可以支持REST了。例如:Restlet(http://www.restlet.org)。另外還有一些橫跨瀏覽器和服務(wù)器的設計模式可以利用,詳情見(jiàn)《Ajax模式與最佳實(shí)踐》。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
從MVC到前后端分離
java框架之Spring 核心框架體系結構
Web開(kāi)發(fā)技術(shù)發(fā)展歷史
Rest架構能否挽救Java?
{定義介紹}什么是REST
前后分離
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久