動手實現Tomcat

2022-05-23 16:36:12 字數 1758 閱讀 9437

版本一:無區分靜態資源(如demo.html)

一、需求描述

二、整體示意圖

三、**實現

專案工程:服務端的工作都在testserver類中完成

1. 服務端的準備工作

(1)靜態變數web_root,用於存放webcontent目錄的絕對路徑

(2)定義靜態變數url,存放本次請求服務端的靜態資源的名稱

2. 實現啟動服務端的**

3. 通過socket獲取輸入流物件和輸出流物件

4. 通過獲取輸入流,服務端解析http請求資料

注:客戶端的http請求

5. 通過輸出流,服務端響應靜態資源

6. 釋放資源(輸入流、輸出流、socket,注意serversocket不可以釋放)

四、**實現

版本二:有區分動態資源(如aa)

一、需求描述

二、整體示意圖

、**實現

專案工程:

1.服務端的準備工作

(1)定義乙個介面servlet

(2)建立類aaservlet、bbservlet,實現servlet介面

(3)webcontent下新建乙個配置檔案conf.properties

(file,utf-8編碼形式 )

2.伺服器啟動時讀取配置引數

}} 伺服器啟動時,map中就會獲取到servlet的配置引數:

3.向客戶端傳送動態資源

*判斷請求的是靜態資源還是動態資源:

動手實現 redux

假如按鈕和介面不在同一元件,經常用redux去實現上面功能,可以想象到如下 const test hello world const mapstatetoprops state 用過mapstatetoprops從頂層拿到屬性然後展示,在另乙個組建通過mapdispatchtoprops去觸發act...

LDA 動手實現LDA

這段時間對lda比較感興趣,嘗試在工作中使用它。平時做想法的快速驗證,都用的是 gibbslda 0.2 乙個c實現版本的lda。這兩天用c stl自己寫了乙個單機版的lda,初衷如下 1.gibbslda 0.2 雖說號稱是最popular的lda工具包,不過依然有明顯的bug,參考 lda 修正...

自己動手實現vector

有了實現string的基礎,在加上一點點模板的知識,就可以自己動手實現乙個vector了。下面是我實現的 比較簡單。有點犯懶了,講解以後再寫吧!ifndef my vector h define my vectoe h include typedef unsigned int size t temp...