進步二 之底層

今天終於知道了聞名已久的socket是個什麼東西了。
說白了,就是兩個不同的進程之間進行通信建立的通道。因爲一個進程內如果要進行通信可以利用公共內存或者邊緣內存進行讀寫(一個進程往往分有一段內存區域)。而如果兩個進程之間進行通信則不能直接去讀寫別個進程的內存,而是需要建立socket。

再說說J2EE。我們在客戶端用IE進程,TOMCAT用例外的一個進程(象我的機器就是用的8080端口對應的進程),這兩個進程進行通信就是要建立socket。

在服務器中,一般有個進程來負責監聽,它監聽所有端口,比如SQLSERVER 1433端口。
tomcat的8080端口。。。當監聽到有請求時,這個進程的主線程就會建立連接socket連接,然後把處理權交給這個進程的其他線程,自己繼續監聽。

再說說數據通信方面:

首先在IE地址欄輸入一個地址,比如http://localhost:8080/qmis2007/processSetAction.do?actionFlag=processQuery,發送請求。如果TOMCAT在8080端口監聽到有請求發過來,則找到請求的資源,再判斷這個JSP頁面有沒有沒編譯過,如果被編譯過,則之間給用戶發送servlet所產生的HTML文件(servlet解析後是HTML文件),如果沒有編譯過或者存在了修改的跡象,就重新編譯,再產生HTML文件,發送給客戶端。


在Spring的框架下,服務器端獲得客戶端的數據是通過XXXForm來傳遞的。spring框架將Form中的數據(比如INPUT)和xxxxForm中的字段綁定在一起的。所以Form中控件的名稱和XXXForm中的字段名稱是想對應的。而XXXentity的字段名稱和數據庫中的字段名稱是相對應的。
發佈了1 篇原創文章 · 獲贊 1 · 訪問量 1532
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章