Tomcat(Java Web伺服器)
阿新 • • 發佈:2021-12-02
Tomcat 伺服器是一個免費的開放原始碼的Web 應用伺服器,屬於輕量級應用伺服器
1. 什麼是Web伺服器?
Web伺服器一般指的是網站的服務,主要提供網際網路資訊的瀏覽
2. 市面主流的web伺服器
前端 | 後端 | 資料庫 | 伺服器 | 專案規模 |
---|---|---|---|---|
PHP | PHP | MYSQL | Apache(Window、Liunx) | 中小型專案 |
ASP | C# | SQL Server | IIS(Windows) | 中大型專案 |
JSP | Java | Oracle | Tomcat(Windows、Liunx結合版) | 中大型專案 |
3. Tomcat目錄
目錄 | 描述 |
---|---|
bin | 可執行檔案目錄 |
conf | 配置檔案目錄 |
lib | Tomcat執行時需要的jar包,Web開發時需要的jar包 |
log | 存放日誌資料夾 |
temp | Tomcat執行時產生的臨時檔案存放目錄 |
webapps | web專案存放目錄 |
work | 專案的快取目錄 |
4. URL組成部分
http://www.baidu.com/
http://192.168.1.119:8080/189/
- http:網路協議
- IP地址:計算機在網路中的唯一標識,一個IP標識著一臺計算機
- 埠:在一臺計算機中標識一款軟體
- 專案目錄:在Web伺服器下存放的目錄
http 預設埠:80
https 預設埠:8443
5. 修改Tomcat埠與字元編碼
在Tomcat目錄conf/server.xml檔案中修改以下程式碼:
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
- URIEncoding:Tomcat字元編碼
- connectionTimeout:連線超時的時間,單位毫秒
- port:Tomcat啟動埠
- protocol:定義通訊協議,http
- redirectPort:重定向埠
6. 伺服器接收使用者請求的方式
在Java中處理使用者請求方式的兩種技術
- JSP
- Servlet
7. Web專案的結構
目錄 | 描述 |
---|---|
src目錄 | 存放Java原始碼 |
build | 存放編譯後的class檔案 |
WebContent目錄 | 存放頁面的目錄 |
WebContent/WEB-INF目錄 | 存放Web專案的配置檔案,比如:web.xml |
WebContent/WEB-INF/web.xml檔案 | web專案第一個被讀取的檔案 |
8. 什麼是Servlet?
Servlet是伺服器端接收並處理使用者請求的,執行在伺服器端
9. 建立Servlet的步驟(☆)
- 建立一個類繼承HttpServlet類
- 重寫doGet和doPost方法
- 在web.xml編寫Servlet的配置資訊,程式碼如下:
<servlet>
<!-- servlet的名稱,自定義 -->
<servlet-name>helloWorld</servlet-name>
<!-- servlet類的完整路徑 -->
<servlet-class>com.zt.servlet.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<!-- servlet的名稱,自定義 -->
<servlet-name>helloWorld</servlet-name>
<!-- servlet的訪問路徑,瀏覽器的地址 -->
<url-pattern>/helloWorld</url-pattern>
</servlet-mapping>
Servlet訪問地址:http://localhost:8080/專案名/servlet訪問路徑
10. Servlet生命週期(☆)
- 執行構造方法例項化物件(Servlet物件被建立-Tomcat)
- 呼叫init方法初始化
- 呼叫service方法處理使用者請求
- 當Tomcat關閉時,呼叫destroy方法,進行銷燬
11. Servlet的執行過程(☆)
- 當網頁傳送一個請求,首先會到達Tomcat伺服器
- Tomcat會根據請求的URL去匹配Web.xml中的
<url-pattern>
標籤 - 匹配上路徑會關聯
<servlet-mapping>
標籤下的<servlet-name>
標籤 - 通過
<servlet-mapping>
標籤下的<servlet-name>
標籤關聯到<servlet>
標籤下的<servlet-name>
標籤 <servlet>
標籤下的<servlet-name>
標籤找到<servlet-class>
標籤,<servlet-class>
標籤儲存了servlet類完整路徑- Tomcat根據這個類的完整路徑,把Servlet物件給建立
- 執行構造方法進行例項化,呼叫init方法進行初始化
- 構造方法與init方法自始至終只會執行一次,Servlet物件是單例項的
- 呼叫service方法處理使用者請求,完成此次請求
- 當Tomcat停止時,呼叫destroy方法進行銷燬,destroy方法自始至終執行一次
12. Servlet例項化方式(☆)
- 第一次請求的時候例項化 - 時間換空間 - 正常處理使用者請求時 - 95%
- Tomcat啟動時例項化 - 空間換時間 - 初始化資料 - 5%
在servlet標籤中加入如下程式碼
<load-on-startup>1<load-on-startup>
中間的數字為大於等於零的正整數,數字越小優先順序越高
13. 程式的分類:
程式 | 架構 | 栗子 |
---|---|---|
桌面類應用程式 | CS架構(Client Servers) | WPS - QQ - LOL |
Web應用程式 | BS架構(Browser Servers) | 淘寶 - 京東 |
-
開發Web應用程式:
HTML + CSS +JS + 程式語言 + 伺服器 + 資料庫
例如:Servlet、JSP、.NET、PHP -
小型伺服器
Tomcat - 免費、開源 - Apache基金會
最大併發數為150 -
大型伺服器
- Weblogic - BEA ORACLE
- WebSphere - IBM
14. Tomcat伺服器各目錄作用
目錄 | 描述 |
---|---|
bin目錄 | 伺服器可執行檔案(啟動伺服器:startup;關閉伺服器:shutdown) |
conf目錄 | 伺服器配置檔案(server.xml:伺服器埠號的修改;context.xml:配置資料庫連線池資訊) |
lib目錄 | 伺服器的jar包(支撐伺服器執行) |
logs目錄 | 記錄伺服器日誌 |
temp目錄 | 存放伺服器執行時的臨時檔案 |
webapps和wtpwebapps目錄 | 存放專案編譯之後的檔案 |
work目錄 | 專案編譯之後的一些快取檔案(JSP檔案) |