1. 程式人生 > 其它 >Tomcat(Java Web伺服器)

Tomcat(Java Web伺服器)

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/

  1. http:網路協議
  2. IP地址:計算機在網路中的唯一標識,一個IP標識著一臺計算機
  3. 埠:在一臺計算機中標識一款軟體
  4. 專案目錄:在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"/>

  1. URIEncoding:Tomcat字元編碼
  2. connectionTimeout:連線超時的時間,單位毫秒
  3. port:Tomcat啟動埠
  4. protocol:定義通訊協議,http
  5. redirectPort:重定向埠

6. 伺服器接收使用者請求的方式

在Java中處理使用者請求方式的兩種技術
  1. JSP
  2. 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的步驟(☆)

  1. 建立一個類繼承HttpServlet類
  2. 重寫doGet和doPost方法
  3. 在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生命週期(☆)

  1. 執行構造方法例項化物件(Servlet物件被建立-Tomcat)
  2. 呼叫init方法初始化
  3. 呼叫service方法處理使用者請求
  4. 當Tomcat關閉時,呼叫destroy方法,進行銷燬

11. Servlet的執行過程(☆)

  1. 當網頁傳送一個請求,首先會到達Tomcat伺服器
  2. Tomcat會根據請求的URL去匹配Web.xml中的<url-pattern>標籤
  3. 匹配上路徑會關聯<servlet-mapping>標籤下的<servlet-name>標籤
  4. 通過<servlet-mapping>標籤下的<servlet-name>標籤關聯到<servlet>標籤下的<servlet-name>標籤
  5. <servlet>標籤下的<servlet-name>標籤找到<servlet-class>標籤,<servlet-class>標籤儲存了servlet類完整路徑
  6. Tomcat根據這個類的完整路徑,把Servlet物件給建立
  7. 執行構造方法進行例項化,呼叫init方法進行初始化
  8. 構造方法與init方法自始至終只會執行一次,Servlet物件是單例項的
  9. 呼叫service方法處理使用者請求,完成此次請求
  10. 當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檔案)