文章目錄
- Web服務器存在的意義
- 關于Web服務器軟件
- Tomcat服務器簡介
- 安裝Tomcat服務器
- Tomcat服務器源文件解析
- 配置Tomcat的環境變量
- 啟動Tomcat服務器
- 一個最簡單的webapp(不涉及Java)
Web服務器存在的意義
我們之前介紹過Web服務器進行通信的原理, 但是我們當時忘記了一點, 服務器上的程序都是通過一種服務器軟件來進行管理的, 我們叫做服務器軟件, 我們請求資源也是請求服務器上不同軟件種的不同的資源, 示意圖如下
關于Web服務器軟件
運行在服務器上的Web服務器軟件有好多款, 下面是常見的幾種
- Tomcat(Web服務器)
- Jetty(Web服務器)
- JBOSS(應用服務器)
- WebLogic(應用服務器)
- WebSphere(應用服務器)
web服務器和應用服務器的區別
我們的JavaEE規范一共有13種, 我們的應用服務器實現了全部的JavaEE規劃, Web服務器僅僅實現了JavaEE規范中的servlet和jsp
, 所以應用服務器其實是包含Web服務器的, 比如JBOSS服務器其實內置了Tomcat服務器
Tomcat服務器簡介
Tomcat服務器
是Apache
開源組織開發的一款輕量級的Web服務器, 具有輕量級, 速度快, 免費開源等優點, 而且Tomcat服務器是由純Java語言開發的(所以運行需要安裝JRE, 所以安裝JDK是必要的), 而且還要設置JAVA_HOME環境變量, 后面配置要用
tomcat
還有另外一個名字:catalina
(catalina是美國的一個島嶼,風景秀麗,據說作者是在這個風景秀麗的小島上開發了一個輕量級的WEB服務器,體積小,運行速度快,因此tomcat又被稱為catalina)tomcat的是一只公貓(寓意表示Tomcat服務器是輕巧的,小巧的,果然,體積小,運行速度快,只實現了Servlet+JSP規范)
關于Apache
開源組織的官方網址
Apache開源組織官網地址
我們可以找到有大量的開源項目
安裝Tomcat服務器
我們打開Tomcat官網, 找到Tomcat服務器的安裝地址, 我們需要安裝的是
- core zip(pgp,sha512): Tomcat服務器的本體
- source code zip(pgp, sha512): Tomcat服務器的源代碼(源碼分析)
Tomcat服務器源文件解析
我們下載壓縮包解壓之后就自動安裝了Tomcat服務器, 我們簡單介紹一下目錄
bin目錄
Tomcat
命令文件存在的地方, 比如啟動Tomcat, 關閉Tomcat
我們關注一個文件startup.bat
bat文件其實就是在window
操作系統下的命令的集合文件, 也就是Windows批處理文件
, 里面都是dos命令
, 而在Linus
系統下, .bat是.sh
, 因為Linux
使用命令的方式, 不是dos命令, 而是shell命令
上圖代表window的啟動命令的集合, 而下圖代表linux的啟動命令的集合
我們打開這個文件查看相關內容
大致可以了解, window啟動startup.bat的方式, 其實是進一步運行了catalina.bat
來完成的
我們現在打開這個文件查看, 搜索mainclass
, 因為Tomcat服務器是Java語言寫的, 所以必然存在一個程序的入口, 也就是main函數
我們在最開始的時候就說, 我們下載了Tomcat的源代碼, 現在我們根據上面提供的類的路徑找到這個Java源文件
進一步就可以找到Tomcat服務器啟動的入口, 也就是main函數
conf目錄
配置文件所在的目錄
這個目錄下全是Tomcat服務器的配置文件, 比如我們查看其中一個server.xml
, 里面就可以配置端口號相關的信息(默認的端口號是8080)
lib目錄
這個是我們Tomcat服務器程序的核心文件, 里面都是以jar包
形式存在的.class
字節碼文件
但是我們上面畫出來的servlet-api.jar
這個不是我們Tomcat服務器
的實現, 這是我們JavaEE的規劃接口
, 真正的Tomcat
服務器程序都是基于這個規范來寫的(類似JDBC)
剩下的幾個文件不是那么重要簡單過一下
logs
: Tomcat服務器的日志目錄,Tomcat服務器啟動等信息都會在這個目錄下生成日志文件,temp
:Tomcat股務器的臨時目錄,存儲臨時文件。webapps
:這個目錄當中就是用來存放大量的webapp(webapplication:web應用)work
:這個目錄是用來存放JSP文件翻譯之后的java文件以及編譯之后的class文件
關于webapps這個目錄, 我們之前就說, 一個Tomcat服務器管理多個web應用程序, 所以這里面其實存儲的都是我們的web應用程序
可以看到webapps
目錄下有很多的自帶的web應用程序
配置Tomcat的環境變量
在配置Tomcat的環境變量之前, 一定要配置JAVA_HOME
, 因為startup.bat
調用的catalina.bat
中需要JAVA_HOME
, 沒有配置JAVA_HOME
的話, 我們的tomcat服務器的環境變量就會配置失效
- 配置
CATALINA_HOME
也就是安裝Tomcat服務器的地址
- 在
Path
中配置bin目錄
的路徑
啟動Tomcat服務器
- 使用
startup.bat
命令啟動Tomcat服務器
雖然都是亂碼, 但是服務器已經啟動成功了
我們通過瀏覽器來驗證
在搜索框搜索http://127.0.0.1:8080
如果展示上面的頁面, 就說明啟動成功了
這里為什么會展示這樣一個頁面呢, 因為我們有webapps
默認的…
- 使用
shutdown.bat
命令關閉Tomcat
這里我們想說一句, shutdown
是window關機的命令, 所以我們不推薦使用這種方式, 我們建議把shutdown.bat
文件改名, 比如我們就改為了stop.bat
一個最簡單的webapp(不涉及Java)
上面我們說了, 所有的webapp
都存在于webapps
這個文件夾中, 所以我們想寫一個web應用, 必須在這個文件夾中寫(不要多想)
創建一個項目oa
, 然后創建一個login.html
我們在瀏覽器中請求獲取這個資源
http://127.0.0.1:8080/oa/login.html
結果如上圖所示, 這代表我們的Tomcat服務器返回給了用戶一個資源文件…