socket編程口訣?
套接字編程:四字公式,一收一發(fā)
服務(wù)器下的方法:
Bind()將套接字綁定到地址。
Listen()開(kāi)始傳入的連接。
Accept()接受連接并返回(連接地址)。
Recv()接受
發(fā)送()發(fā)送
Sendall()硬發(fā)送,發(fā)送的內(nèi)容必須是bytes類(lèi)型。
客戶(hù)端下的方法:
Connect()連接到address的套接字,addressd的一般模式是tuple。
Recv()接受
發(fā)送()發(fā)送
S
javaweb是什么原理?
JavaW《Java程序員面試秘笈》,借用描述來(lái)講一下Servlet的生命周期。
(1)加載Servlet。該操作通常是動(dòng)態(tài)執(zhí)行的,但是,服務(wù)器通常會(huì)提供一個(gè)管理選項(xiàng),以便在服務(wù)器啟動(dòng)時(shí)強(qiáng)制加載和初始化特定的Servlet。
(2)服務(wù)器創(chuàng)建Servlet的一個(gè)實(shí)例。
(3)服務(wù)器調(diào)用Servlet的init()方法。
(4)客戶(hù)端請(qǐng)求到達(dá)服務(wù)器。
(5)服務(wù)器創(chuàng)建一個(gè)請(qǐng)求對(duì)象。
(6)服務(wù)器創(chuàng)建響應(yīng)對(duì)象。
(7)服務(wù)器激活Servlet的service()方法,請(qǐng)求對(duì)象和響應(yīng)對(duì)象作為Service()方法的參數(shù)。
(8)8)service()方法獲得被請(qǐng)求對(duì)象的信任,處理請(qǐng)求,訪問(wèn)其他資源,獲取需要的信息。
(9)9)service()方法使用response對(duì)象的方法將響應(yīng)發(fā)送回服務(wù)器,最終到達(dá)客戶(hù)端。service()方法可能會(huì)激活其他方法來(lái)處理請(qǐng)求,比如doGet()、doPost()或者程序員自己開(kāi)發(fā)的新方法。
對(duì)于更多的客戶(hù)端請(qǐng)求,服務(wù)器創(chuàng)建新的請(qǐng)求對(duì)象和響應(yīng)對(duì)象,仍然激活這個(gè)Servlet的service()方法,并將這兩個(gè)對(duì)象作為參數(shù)傳遞給它,但是不需要再次調(diào)用init()方法。通常,Servlet只初始化一次。當(dāng)服務(wù)器不再需要Servlet時(shí)(通常是服務(wù)器關(guān)閉時(shí)),服務(wù)器調(diào)用Servlet的destroy()方法。
以上是Servlet的生命周期,間接解釋了一些JavaWeb的原理,但是還是忽略了很多東西,比如HTTP協(xié)議的原理,服務(wù)器端Web編程的原理,Servlet和Web容器之間的業(yè)務(wù)邏輯,JavaWeb應(yīng)用的組成,常用JavaWeb服務(wù)器的工作原理等等。這也說(shuō)明,在IT行業(yè),越是想做好,越需要了解甚至熟悉更底層的東西,這也是一種無(wú)止境的學(xué)習(xí)。
作者:Sunnysunset,歡迎關(guān)注我的頭條號(hào):偶遇美文,主流Java,告訴你不一樣的碼農(nóng)生活。