3 回答

TA貢獻(xiàn)1859條經(jīng)驗 獲得超6個贊
其實理解本質(zhì)即可:
1. servlet是放到http容器中運(yùn)行的,也就是說,容器已經(jīng)替你完成底層的工作,例如處理連接,協(xié)議解析等,這樣自己可以專注于業(yè)務(wù)邏輯的處理。拿tomcat舉例,tomcat底層已經(jīng)tcpip,之后實現(xiàn)http協(xié)議,具體io的處理是bio還是nio,這些可以配置,用戶只需要寫servlet處理get,post等方法即可。
2. 如果不寫servlet,使用netty等框架,就等于更底層一點,netty只負(fù)責(zé)tcpip的鏈接的處理,提供了一個框架給你,具體的協(xié)議的制定,實現(xiàn)等一般自己完成,使用bio或nio等需要自己控制。
優(yōu)缺點:
1.使用tomcat,編寫servlet等的方式,優(yōu)點:開發(fā)效率高,client端處理靈活,只要支持http協(xié)議即可;缺點:性能相對來說,會比較低,畢竟http傳遞的消息頭和消息體的傳輸還是比較大的
2. 使用netty,優(yōu)點:性能較高,支持的協(xié)議更靈活,可以是http,可以是自定義的協(xié)議。缺點:開發(fā)效率低,對編程要求高。

TA貢獻(xiàn)1816條經(jīng)驗 獲得超6個贊
完全可以,走簡單字符串協(xié)議交互,并發(fā)還能得到保障,但是不方便與第三方合作與接入,還是推薦http型的api網(wǎng)站,json交互。這樣調(diào)用方便,擴(kuò)展容易。首選springMVC

TA貢獻(xiàn)1807條經(jīng)驗 獲得超9個贊
在你的設(shè)計中是否需要,或完全應(yīng)用 HTTP協(xié)議。比如消息頭 狀態(tài)碼 消息格式 消息體這類信息。 如果你本身沒有把HTTP當(dāng)成應(yīng)用層協(xié)議,而只是作為傳輸層協(xié)議,那么是的,可以完全用純tcp替代。
添加回答
舉報