Tomcat(Java 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文件)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM