Tomcat 介紹及使用教程
時間:2023-07-15 07:18:01 | 來源:網(wǎng)站運(yùn)營
時間:2023-07-15 07:18:01 來源:網(wǎng)站運(yùn)營
Tomcat 介紹及使用教程:鏡像下載、域名解析、時間同步請點(diǎn)擊 阿里云開源鏡像站
1. Tomcat 介紹
Apache Tomcat 是由 Apache Software Foundation(ASF)開發(fā)的一個開源 Java WEB 應(yīng)用服務(wù)器。
由于 Tomcat 是由 Java 語言實(shí)現(xiàn)的,因此需要運(yùn)行在 Java 虛擬機(jī)上,所以使用前要先安裝 JDK,以提供運(yùn)行環(huán)境
Tomcat 實(shí)現(xiàn)了幾個 Java EE 規(guī)范,包括 Java Servlet、Java Server Pages(JSP)、Java Expression Language 和 Java WebSocket 等。在下載好 Tomcat 后,可以在它的 lib 目錄中看到相關(guān)的 Java EE 規(guī)范 API 源碼的引用
Tomcat 實(shí)現(xiàn)的幾個 Java EE 規(guī)范中,有一個很重要的規(guī)范 Servlet,通過它我們可以運(yùn)行自己編寫的 Servlet 應(yīng)用程序處理動態(tài)請求,即實(shí)現(xiàn)動態(tài)頁面
Tomcat 的 Connector 組件實(shí)現(xiàn)了 HTTP 請求的解析,可以把 Tomcat 看作是一個 HTTP 服務(wù)器,Tomcat 可以通過 Connector 組件接收 HTTP 請求并解析,然后把解析后的信息交給 Servlet 處理:
- 對于靜態(tài)資源(html/css/js 等)請求:Tomcat 提供默認(rèn)的 Servlet 來處理響應(yīng)
- 對于動態(tài)請求:可以映射到自己編寫的 Servlet 應(yīng)用程序來處理
2. 下載安裝
這里以 Tomcat 8 為例,在 Linux 系統(tǒng)中演示下載安裝 Tomcat 的方法。
注意: 由于 Tomcat 運(yùn)行在 Java 虛擬機(jī)上,因此在安裝 Tomcat 之前要先下載好 JDK
2.1 Linux 中安裝
- 下載地址:https://mirrors.aliyun.com/apache/tomcat/
- 首先切換到 opt 目錄(opt 是給主機(jī)額外安裝軟件(安裝包)所存放的目錄)
cd /opt
通過 wget 方式來下載 Tomcat 的安裝包
wget https://mirrors.aliyun.com/apache/tomcat/tomcat-8/v8.5.77/bin/apache-tomcat-8.5.77.tar.gz
將下載的 Tomcat 壓縮包進(jìn)行解壓
tar xzf apache-tomcat-8.5.77.tar.gz
之后通過 startup.sh 運(yùn)行 Tomcat 服務(wù)器
/opt/apache-tomcat-8.5.77/bin/startup.sh
2.2 訪問 Tomcat
當(dāng)我們運(yùn)行 Tomcat 之后,就可以在瀏覽器中通過 服務(wù)器IP端口號 來進(jìn)行訪問。
如果你是使用的服務(wù)器,那么 IP 地址就為服務(wù)器的公網(wǎng) IP
如果你是使用的自己的主機(jī),那么 IP 地址就為 127.0.0.1
Tomcat 的默認(rèn)端口號為 8080(可以在 conf 目錄中手動修改)
注意: 如果你想要訪問其他人的 Tomcat,要么他人 Tomcat 使用的是外網(wǎng) IP,要么你和他的外網(wǎng)必須相同,即在同一局域網(wǎng)下。只有這兩種情況你才能訪問到他人的 Tomcat,否則就訪問不了
當(dāng)前我們使用的 IP 協(xié)議是 IPv4,這個協(xié)議下的 IP 地址是一個32位、4個字節(jié)的整數(shù),由于該數(shù)字并不大,但是全世界聯(lián)網(wǎng)的設(shè)備已經(jīng)超過了這個數(shù)字,因此想要每臺主機(jī)都有一個獨(dú)立的 IP 地址是不夠的。
因此就采用了 NAT 機(jī)制,即多臺主機(jī)使用一個外網(wǎng) IP,外網(wǎng)是不同重復(fù)的,并且每個相同的外網(wǎng)下的不同主機(jī)都有自己獨(dú)自的內(nèi)網(wǎng) IP。如此一來,就很好的解決了 IP 地址不夠的問題。
3. Tomcat 的目錄結(jié)構(gòu)
當(dāng)安裝好 Tomcat 后,打開它的文件夾,可以看到以下目錄
- bin: 存放各種啟動、關(guān)閉和其它程序的腳本(.sh 文件是針對 Unix 系統(tǒng)使用的,.bat 文件是針對 Windows 系統(tǒng)使用的,* 相同的程序的功能是一樣的)
- conf: 配置文件及相關(guān)數(shù)據(jù)文件存放的目錄,如存放 server.xml、tomcat-users.xml、web.xml
- lib: Tomcat 使用的庫文件存放的目錄,如存放 Servlet 規(guī)范的 API
- logs: 默認(rèn)日志文件存放的目錄,如存放訪問日志(可以通過 server.xml 文件將日志配置到其它目錄)
- temp: 臨時文件的工作目錄,如上傳大文件時的緩存數(shù)據(jù)會存儲在這里
- webapps: 存放 web 應(yīng)用、用來程序部署的目錄(可以通過 server.xml 文件配置)
一個具有獨(dú)立完整功能的網(wǎng)站,可以稱為一個 web 應(yīng)用。一個 Tomcat 的服務(wù)器上可以同時部署多個這樣的 web 應(yīng)用。這些 web 應(yīng)用以目錄的形式被存放到 webapps 目錄中
- work: Tomcat 的工作目錄,如存放 JSP 編譯后的類文件
4. Tomcat 的配置文件
在 Tomcat 的 conf 目錄中,存放了 Tomcat 的配置文件,打開該目錄,可以看到主要有以下幾個配置文件
- catalina.policy: 當(dāng)基于 -securty 選項啟動 Tomcat 實(shí)例時會讀取此配置文件。此文件是 Java 的安全策略配置文件,用于配置訪問 codebase(代碼庫)或某些 Java 類的權(quán)限
- catalina.properties: Java 屬性定義文件,設(shè)定類加載器路徑、安全包列表和一些調(diào)整性能的參數(shù)信息
- context.xml: 為部署與此 Tomcat 實(shí)例上的 web 應(yīng)用程序提供的默認(rèn)配置文件,每個 webapp 都可以使用獨(dú)有的 context.xml,通常放置于 webapp 目錄的 META-INF 子目錄中,常用于定義會話管理器,Realm 和 JDBC 等
- logging.properties: 定義日志相關(guān)的配置信息,如日志級別、文件路徑等
- server.xml: Tomcat 核心配置文件,包含 Service、Connector、Engine、Realm、Valve、Hosts 主組件的相關(guān)配置信息
- tomcat-users.xml: 包含 Realm 認(rèn)證時用到的相關(guān)角色、用戶和密碼等信息;Tomcat 自帶的 manager 默認(rèn)情況下會用到此文件;在 Tomcat 中添加火刪除用戶,為用戶指定角色等將通過編輯此文件實(shí)現(xiàn)
- web.xml: 為部署與 Tomcat 實(shí)例上的所有 web 應(yīng)用程序提供部署描述符,通常用于為 webapp 提供默認(rèn)的 servlet 定義和基本的 MUIME 映射表
5. WEB 應(yīng)用部署目錄結(jié)構(gòu)
部署應(yīng)用程序時,一般會將其打包成一個 war 包,然后放到 Tomcat 的應(yīng)用程序部署目錄 webapps 中。而 web 應(yīng)用程序有特定的組織格式,是一種層次型目錄結(jié)構(gòu),通常包含了 servlet 代碼文件、HTML、JSP 頁面文件、類文件、部署描述符文件等等,相關(guān)說明如下:
- /: 表示 web 應(yīng)用程序的根目錄,可以存放 HTML、JSP 頁面以及其他客戶端瀏覽器必須可見的其他文件(如 JS、CSS、圖像文件)。在較大的應(yīng)用程序中,還可以選擇將這些文件劃分為子目錄層次結(jié)構(gòu)
- /WEB-INF: 表示 web 應(yīng)用程序的所有私有資源目錄,用戶瀏覽器不可能訪問到的,通常 web.xml 和 context.xml 均放置于此目錄。
- /WEB-INF/web.xml: 表示 web 應(yīng)用程序的私有的部署描述符,描述組成應(yīng)用程序的 servlet 和其他組件(如 filter),以及相關(guān)初始化參數(shù)和容器管理的安全性約束。
- /WEB-INF/classes: 表示 web 應(yīng)用程序自有的 Java 程序類文件及相關(guān)資源存放目錄。
- /WEB-INF/lib: 表示 web 應(yīng)用程序自有的 JAR 文件,其中包含應(yīng)用程序所需的 Java 類文件及相關(guān)資源(如第三方類庫或 JDBC 驅(qū)動程序)
6. 部署靜態(tài)頁面
什么是靜態(tài)頁面?
靜態(tài)頁面就是內(nèi)容始終固定的頁面,即使用戶不同、時間不同、輸入的參數(shù)不同,頁面內(nèi)容也不會發(fā)生變化。除非網(wǎng)站的開發(fā)人員修改源代碼,否則頁面的內(nèi)容始終不變。
6.1 部署單個 HTML
可以將自己寫好的單個 HTML 部署到 Tomcat 中,方法如下:
- 先創(chuàng)建好 html 文件(hello.html)<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>將 HTML 部署到 Tomcat 上</title>
</head>
<body>
<div>hello</div>
</body>
</html>
- 將創(chuàng)建好的 html 文件拷貝到 Tomcat 的 webapps/Root 目錄中
啟動 Tomcat,在瀏覽器的網(wǎng)址欄輸入 127.0.0.1:8080/hello.html 就可以訪問到剛剛部署的 HTML
6.2 部署帶有 CSS、JavaScript、圖片的 HTML
實(shí)際開發(fā)中,HTML 可能不僅僅是單一文件,還會依賴一些其它資源,如 CSS、JavaScript、圖片等等。
可以將自己寫好的帶有 CSS、JavaScript 或圖片的 HTML 部署到 Tomcat 中,方法如下:
- 創(chuàng)建好 html 文件(hello.html)<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>將 HTML 部署到 Tomcat 上</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<img src="彌豆子.jpg" alt="彌豆子">
<script src="app.js"></script>
</body>
</html>
- 創(chuàng)建好 css 文件(style.css)img {
width: 500px;
height: 300px;
- 創(chuàng)建好 js 文件(app.js)console.log("hello");
- 將以上幾個文件都拷貝到 Tomcat 的 webapps/ROOT 目錄中
- 啟動服務(wù)器,在瀏覽器的網(wǎng)址欄輸入 127.0.0.1:8080/hello.html 就可以訪問到剛剛部署的 HTML
6.3 部署 HTML 到單獨(dú)的目錄中
實(shí)際開發(fā)中,HTML 文件可能不止一個,依賴的資源也比較多,很雜亂。因此直接全部拷貝到 webapps/ROOT 目錄中就不太合適。
可以創(chuàng)建一個單獨(dú)的目錄,和 ROOT 目錄并列,來存放我們要部署到 Tomcat 中的內(nèi)容,方法如下:
- 在 webapps 目錄中創(chuàng)建一個新的文件夾(這里為 HelloApp),并在該文件中,將 HTML 的依賴再通過創(chuàng)建新的目錄來進(jìn)行合理的分類(如 css、js、img 等)
- 將 6.2 中的那些文件全部拷貝到該文件中,并按照新建的目錄進(jìn)行分類(注意:可能要調(diào)整一些資源的路徑)
- 啟動 Tomcat,在瀏覽器的網(wǎng)址欄輸入 127.0.0.1:8080/HelloApp/hello.html 就可以訪問到剛剛部署的 HTML
6.4 部署博客系統(tǒng)頁面
這里就以這個博客系統(tǒng)的頁面為例,將其部署到 Tomcat 上
- 首先在 webapps 目錄下創(chuàng)建一個目錄(這里為 blog)
- 將寫的博客系統(tǒng)頁面的文件拷貝進(jìn)來
- 啟動 Tomcat,在瀏覽器的網(wǎng)址欄輸入 127.0.0.1:8080/blog/blog_list.html 就可以訪問到剛剛部署的博客系統(tǒng)
6.5 部署博客系統(tǒng)到云服務(wù)器
上面已經(jīng)介紹了如何將 HTML 文件等 web 程序部署到本地的 Tomcat 上,但是僅僅如此,其他人是無法訪問到這些頁面的。
因此,可以將 web 程序部署到云服務(wù)器的 Tomcat 的 webapps 目錄中,這樣你部署的程序其他人也可以看到。方式如下:
- 首先將你要部署的程序的目錄打一個 zip 壓縮包(這里以上述博客系統(tǒng)頁面為例)
- 通過 xshell 連接上云服務(wù)器,并切換到 Tomcat 的 webapps 目錄中
- 將 blog.zip 拖拽到 xshell 中(也可以使用其它方式,如使用 xftp)
- 拖拽成功后,將 blog.zip 進(jìn)行解壓縮
unzip. blog.zip
- 最后在瀏覽器中的網(wǎng)址欄搜索 http://:8080/blog/blog_list.html 就可以訪問到該頁面,大家也可以訪問到的!
本文轉(zhuǎn)自:
https://blog.csdn.net/weixin_51367845/article/details/123429050