目錄
服務器流程圖一覽
一、JavaWeb前奏(了解)
1. C/S結構
?2. B/S結構
?3. 靜態網頁&動態網頁
4.常見的網頁
5.Web服務器
知名服務器:
?編輯
?二、Tomcat安裝(熟練)
1.Tomcat概述
2.Tomcat的作用
?3.Tomcat安裝
4.Tomcat測試
3.Tomcat分析(熟練)
1.Tomcat目錄結構
2.Tomcat修改端口號
3.Tomcat結構重點
早在自搭建Tomcat(一)---Socket&ServerSocket-CSDN博客? 這篇博客起,一共有六篇博客中詳細闡述了手寫搭建Tomcat的代碼全過程,在此篇博客中講解一下服務器的一些理論知識。
服務器流程圖一覽
首先上面是學習服務器理論知識的一份思維導圖。
一、JavaWeb前奏(了解)
1. C/S結構
C/S 結構即客戶端/服務器(Client/Server),例如QQ就是C/S結構的。我們每個 人電腦上都需要安裝QQ的客戶端,客戶端軟件向服務器端軟件發送請求,服務器端給客戶 端返回響應。
但是,因為客戶端需要不斷的更新,用戶使用起來就比較麻煩。現在的C/S結構的客 戶端已經好多了,可以提示用戶更新,用戶只需要點擊更新就可以了。最早時需要用戶自己 去官網上下載最新客戶端,然后把老版本卸載,再去安裝新版本。?
?2. B/S結構
B/S 結構即瀏覽器/服務器(Browser/Server),例如網站都是B/S結構的。當然, 網站也只是B/S結構體系軟件中的一種而已。網上銀行也都是B/S結構的!
B/S 結構的好處在于不需要用戶更新客戶端,客戶端只需要有一個瀏覽器就OK。當軟 件需要更新時,開發人員只需要關心服務器端就行。就像你在瀏覽器中訪問百度時,發現百 度的主頁發生了變化,但你也不需要更新什么。
?3. 靜態網頁&動態網頁
早期在Internet上都是靜態網頁,即html頁面。靜態網頁的數據都是不能自動變 化的,例如網頁上的當前用戶信息:“歡迎XXX登錄本系統”,這說明當前用戶名為XXX。 如果有其他用戶登錄系統就應該顯示其他用戶的名字,而且無需修改頁面!說白一點,用戶 名應該是變量,而不是常量!這是靜態網頁做不到的!
動態網頁可以中包含變量,數據的變化就不是問題了(就比如將上面那個“歡迎XXX登錄本系統”的例子連接上JDBC,并用cookie動態改變用戶名,那么就是動態頁面)。但動態網頁只能在服務器端使用, 客戶端瀏覽器只能識別靜態網頁。所以,如果用戶請求的是動態網頁,那么就需要服務器先 把動態網頁轉換成靜態網頁發送給客戶端瀏覽器!
動態網頁必須有服務器來處理。
4.常見的網頁
-
靜態網頁:
-
htm、html
-
-
動態網頁:
-
php、asp、aspx
-
jsp、.do、.action
-
我們要學習的是JSP(Javaserverpages),與其相關的是do(struts1)、action (struts2)
5.Web服務器
Web 服務器的作用是接收客戶端的請求,給客戶端作出響應。
知名服務器:
-
Tomcat (Apache):用來開發學習使用:免費,開源
-
JBoss (Redhat 紅帽):
-
Weblogic (Oracle):要錢的!使用 Tomcat 開發,項目寫完了,放到 Weblogic 上運行;
-
Websphere (IBM):要錢的!與 Weblogic 相似。
?二、Tomcat安裝(熟練)
1.Tomcat概述
Tomcat 服務器由Apache提供,開源免費。開發學習使用最佳選擇。安裝Tomcat 之前需要先安裝JDK,其實無論哪一種JavaWeb服務器都需要先安裝JDK。我們現在使用 的Tomcat版本可以是Tomcat8.5或Tomcat9。
Tomcat6 支持Servlet2.5;
Tomcat7,8,9 支持Servlet3.0;
2.Tomcat的作用
當用戶通過發送過來一個請求(通常是瀏覽器請求)后,Tomcat來接收請求,然后給用戶返回響應(通常會是HTML,或是文件、圖片等)。
?3.Tomcat安裝
4.Tomcat測試
測試 Tomcat 需要在瀏覽器中輸入:http://localhost:8080,或者是 http://127.0.0.1:8080。127.0.0.1 表示本機的IP地址,localhost表示本機的 主機名。
如果其他機器需要訪問,那么要把localhost使用本機IP地址替換。
假如我的IP是192.168.1.100,你們要訪問我機器上的Tomcat,那么需要在你們 的瀏覽器中訪問:http://192.168.1.100:800
項目被訪問到的必要條件 。
3.Tomcat分析(熟練)
1.Tomcat目錄結構
有必要了解一下Tomcat的目錄結構:
bin:該目錄下存放的是可執行文件,有startup.bat和shutdown.bat文件, startup.bat 用來啟動Tomcat,但需要先配置JAVA_HOME和shutdown.bat 用來停止Tomcat;
在此就引申出來一個問題:配置環境變量的意義?
提供靈活性和便捷性:環境變量可以存儲程序所需的配置信息,使得程序在運行時能夠動態地獲取資源路徑(如
bin
目錄)而無需硬編碼固定的路徑。這樣,程序可以在不同的系統環境或場景下靈活運行,無需手動修改代碼中的路徑信息,從而實現隨時隨地的調用。增強系統的安全性:通過環境變量管理配置信息,可以避免直接暴露敏感的系統路徑或配置細節,從而在一定程度上保護系統的安全性和隱私性。
?conf:這是一個非常非常重要的目錄,這個目錄下有三個最為重要的文件:
①server.xml
- 功能:配置整個服務器的信息。
- 用途:例如,可以通過修改
server.xml
來設置服務器的端口號、定義虛擬主機、配置連接器(Connector)等。 - 重要性:它是服務器的核心配置文件,決定了服務器的基本運行參數和架構。
②web.xml
- 功能:部署描述符文件。
- 用途:定義了Web應用程序的全局配置信息,包括Servlet映射、過濾器(Filter)、監聽器(Listener)等。
- MIME類型:
web.xml
中還注冊了許多MIME(Multipurpose Internet Mail Extensions)類型,這些類型用于說明文檔的內容類型。
MIME(Multipurpose Internet Mail Extensions)類型是一種用于標識文件類型和格式的網絡標準。它通過一個字符串(如
text/html
、image/jpeg
)告訴客戶端(如瀏覽器)如何處理接收到的數據,例如顯示網頁、渲染圖片或下載文件。MIME類型由類型(如text
、image
)和子類型(如html
、jpeg
)組成,廣泛應用于Web開發和網絡通信中,確保數據正確傳輸和解析。
③context.xml
- 功能:定義上下文(Context)級別的配置。
- 用途:用于配置特定Web應用程序的運行環境,例如資源鏈接(Resource Links)、環境變量(Environment Variables)等。
- 重要性:它為每個Web應用程序提供了獨立的配置選項,使得應用程序可以獨立于服務器全局配置運行,增強了靈活性和可維護性。
?lib:Tomcat的類庫,里面是一大堆jar文件。如果需要添加Tomcat依賴的 jar 文件,可以把它放到這個目錄中,當然也可以把項目依賴的jar文件放到這 個目錄中,這個目錄中的jar所有項目都可以共享之;?
logs:這個目錄中都是日志文件,記錄了Tomcat啟動和關閉的信息,如果啟動 Tomcat 時有錯誤,那么異常也會記錄在日志文件中。
temp:存放Tomcat的臨時文件,這個目錄下的東西可以在停止Tomcat后刪除!?
webapps:存放web項目的目錄,其中每個文件夾都是一個項目;如果這個目錄 下已經存在了目錄,那么都是tomcat自帶的。項目。其中ROOT是一個特殊的項目,在地址欄中沒有給出項目目錄時,對應的就是ROOT項目。 ?
work:運行時生成的文件,最終運行的文件都在這里。通過webapps中的項目生成的!可以把這個目錄下的內容刪除,再次運行時會生再次生成work目錄。當 客戶端用戶訪問一個JSP文件時,Tomcat會通過JSP生成Java文件,然后再 編譯Java文件生成class文件,生成的java和class文件都會存放到這個目 錄下。
LICENSE:許可證。
NOTICE:說明文件。
你應該已經發現,訪問ROOT項目時無需給出項目名,其實localhost是一個主 機名,每個主機都會對應一個項目空間,localhost對應的就是Tomcat目錄下的 webapps,每個項目空間都可以有一個名為ROOT項目,這個ROOT項目被訪問時無需給出 項目名稱。
2.Tomcat修改端口號
打開conf\server.xml(這里面存放著服務器配置信息)
http 默認端口號為80,也就是說在URL中不給出端口號時就表示使用80端口。當 然你也可以修改為其它端口號。修改之后必須重新啟動服務器
80 端口是默認的端口,如果使用80端口訪問時就可以省略端口。
如果我們改成80端口,訪問時就可以不加端口號。http://localhost/
項目提供給其他同學訪問的必要條件:
1. 和其他同學在同一局域網內或本機在公網上有固定IP
2. Web項目部署到tomcat后,如果使用80端口的話,需要進行公安部備案(百度搜索)
引申問題:如何查看本機IP地址?? 終端輸入ipconfig查看 。
注:127.0.1和localhost代表本機,僅限于本機使用,如果想讓其他人訪問自己的電腦,需要用到IP地址。
3.Tomcat結構重點
bin、conf、webapps、work。
bin 目錄中東西我們只關心啟動和停止 Tomcat,現在大家也應該掌握了!
webapps 目錄下存放的是項目,每個文件夾都對應一個項目,而且在訪問項目時,其中包含了項目名,而項目名往往都對應項目目錄名。這個也應該可以掌握了!還有就是 JavaEE Web 項目的目錄結構,這個必須必須背下來!
work:這個東西有點小難度,現在只需要知道它存放的文件是通過 webapps 目錄下的項目在運行時產生的,最終運行的都是 work 目錄下的文件。這個目錄下的東西可以刪除,然后再次運行時還會產生!
上述就是有關Tomcat的相關理論知識。?