Tomcat是什么?Tomcat是web容器。你在做web項目時,多數需要http協議,也就是" />
訂閱
糾錯
加入自媒體

Tomcat是用來干什么的?帶你快速入門學會tomcat!通俗易懂!

Tomcat是什么?

Tomcat是web容器。你在做web項目時,多數需要http協議,也就是基于請求和響應,比如你在百度輸入一行內容搜索,那么百度服務器如何處理這個請求呢,他需要創(chuàng)建servlet來處理,servlet其實就是java程序,只是在服務器端的java程序servlet通過配置文件攔截你的請求,并進行相應處理,然后展示給你相應界面,那么servlet如何創(chuàng)建?

這時候tomcat用到了,它就是幫助你創(chuàng)建servlet的東西,所以也稱web容器,沒有它,沒法運行web項目。相對應的web容器有很多,比如JBOSS,WEBLOGIC等。

Tomcat是一個應用服務器。他可以運行你按照J2EE中的Servlet規(guī)范編寫好的Java程序。

簡單的說它是一個Web網站的運行容器,把你寫好的網站放進去就可以運行。

一、網絡協議/網絡協議包

在互聯網通信過程中,在網絡傳遞信息都是二進制形式。

此時接收方接收到信息之后必須進行一次解析。

但是由于傳遞信息量相對較大,增加接收方解析難度

瀏覽器: http://localhost:8080/myWeb/index.html

1010101010101010101011111000110101010

網絡協議包:

一組有規(guī)律二進制數據,存在固定空間。在指定空間下專門存放指定數據,降低接收方解析難度

0000 服務端計算機ip地址 0000 Http服務器端口號 0000 資源文件 0000

二、Http網絡協議包:

在B/S通信結構下,瀏覽器發(fā)送請求信息以及服務端返回資源文件內容都是通過Http網絡協議包進行傳遞

三、Http網絡協議包分類:

1.Http請求協議包:

1)在瀏覽器準備發(fā)送請求時,負責生成一個Http請求協議包

2)在瀏覽器準備發(fā)送請求時,負責將請求信息寫入Http請求協議包

3)由瀏覽器負責推送Http請求協議包

2.Http響應協議包:

1)在Http服務器準備返回結果時,負責生成一個Http響應協議包

2)由Http服務器調用輸出流將文件內容(文字,數字,像素,幀,命令)以二進制形式寫入到Http響應協議包

3)由Http服務器負責將Http響應協議包推送回發(fā)起請求的瀏覽器

四、Http請求協議包內部結構:自上而下分為4層結構 【背】

1.請求行:


url:請求地址
method:請求方式

2.請求頭:


如果瀏覽器以GET方式發(fā)送請求
請求參數存放在請求頭

3.空白行:


4.請求體:


如果瀏覽器以POST方式發(fā)送請求
請求參數存放在請求體

五、Http響應協議包內部結構 自上而下分為4層結構 【背】

1.狀態(tài)行:


Http狀態(tài)碼

2.響應頭:


content-type:指定瀏覽器使用對應解析器或則編譯器
對返回二進制數據進行解析或則編譯

3.空白行:


4.響應體:


本次索要文件內容(二進制形式存放)

六、Http服務器介紹

1.所有的Http服務器都是由java編程語言開發(fā)應用程序

2.Http服務器可以接收由瀏覽器發(fā)動的Http請求協議包

3.Http服務器可以解析Http請求協議包二進制數據了解用戶請求

4.Http服務器可以自動定位被訪問的資源文件

5.Http服務器可以自動將被訪問文件內容或則文件運行結果通過輸出流以二進制形式寫入到Http響應協議包中響應體

6.Http服務器可以自動將Http響應協議包推送回發(fā)起請求的瀏覽器

七、Http服務器分類:

1.功能最強---Websphere

2.功能最新---GlassFish

3.最輕量級---tomcat

八、tomcat服務器安裝與配置

1.tomcat服務器下載: tomcat.apache.org/

2.tomcat安裝:tomcat9.0版本是綠色免安裝版

3.tomcat配置:

1)JAVA_HOME環(huán)境變量: 用于向tomcat服務器提供當前計算機中JDK位置

JAVA_HOME=C:Program FilesJavajdk1.8.0_101

2)CATALINA_HOME環(huán)境變量:通知本次啟動的tomcat服務器存放位置

CATALINA_HOME=C:tomcat9

九、tomcat服務器啟動與關閉

1.tomcat服務器啟動時生成一個管理對象。如果手動關閉,時間一長。

這個管理對象將脫離管理,導致無法再次啟動tomcat

2.管理命令位置: tomcat安裝地址/bin文件夾

3.啟動tomcat命令: startup

4.關閉tomcat命令: shutdown

十、tomcat服務器啟動失敗原因

1.忘記配置JAVA_HOME

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program

2.JAVA_HOME地址寫錯了

The JRE_HOME environment variable is not defined correctly
This environment variable is needed to run this program

3.CATALINA_HOME地址寫錯了

The CATALINA_HOME environment variable is not defined correctly
This environment variable is needed to run this program

4.tomcat服務器默認端口號8080.一個計算機只能啟動一個tomcat

java.net.BindException: Address already in use: JVM_Bind

十一、tomcat服務器工作文件

1.bin : tomcat管理命令

2.conf:tomcat配置文件。server.xml是tomcat核心配置文件

3.lib: tomcat應用程序在運行時依賴的第三方jar

4.logs:存放tomcat運行日志

5.temp:存放tomcat運行時生成臨時文件

6.webapps:tomcat在默認情況下,接收到請求之后到webapps下定位資源文件

7.work: tomcat在默認情況下,在work文件下將jsp文件編輯為java文件并編譯為class文件

十二、第一次BS通信模擬

1.在webapps下創(chuàng)建一個網站

網站:網絡資源站點,存放可以被瀏覽器訪問的資源文件

2.啟動tomcat

3.啟動瀏覽器,向tomcat發(fā)起請求

在地址欄輸入資源文件定位命令(url):

http://服務端計算機IP地址:http服務器端口號/網站名/資源文件名.后綴名

http://localhost:8080/myWeb/one.html

十三、標準網站內部結構

|_________src文件夾:java文件和動態(tài)資源文件

|_________web文件夾 :靜態(tài)資源文件/第三jar/網站核心配置文件

|________WEB-INF: 第三jar/網站核心配置文件

|______lib文件夾(手動) 第三jar

|______web.xml 網站核心配置文件

|______________靜態(tài)資源文件

十四、模擬tomcat調用動態(tài)資源文件

1.對于一個網站來說,tomcat只能調用網站中Servlet接口實現類

2.Tomcat接收到請求之后,根據url中文件名稱定位被訪問Servlet接口實現類。

1)Tomcat通過Class.forName方法將硬盤類文件加載到內存

2)Tomcat通過反色機制通知JVM創(chuàng)建當前類的實例對象

3)Tomcat通過實例對象調用init方法來實現對實例對象初始化操作

4)Tomcat通過實例對象調用service方法處理當前用戶請求

5)Tomcat通過輸出流將service方法處理結果寫入到響應體交還給發(fā)起請求瀏覽器

十五、適配器設計模式

1.作用: 降低接口實現類開發(fā)難度的?梢宰尳涌趯崿F類自由選擇接口中方法重寫

2.解決方案:

1)使用抽象類實現接口,對接口中不受歡迎抽象方法進行空實現

2)創(chuàng)建接口實現類 繼承與抽象類,此時接口實現類開發(fā)時只要重寫感興趣方法

十六、模板設計模式:

1.作用:子類只需要考慮相關方法重寫實現,不需要考慮方法調用場景。子類方法調用規(guī)則由父類負責控制

image.png

以上Tomcat全套視頻/資料可評論/私信免費獲取~~~

聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關注公眾號
    OFweek人工智能網
    獲取更多精彩內容
    文章糾錯
    x
    *文字標題:
    *糾錯內容:
    聯系郵箱:
    *驗 證 碼:

    粵公網安備 44030502002758號