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