Web相關知識以及Tomcat伺服器

2020-08-14 01:04:38

web相關概念回顧

1. 軟體架構
	1. C/S:用戶端/伺服器端
	2. B/S:瀏覽器/伺服器端

2. 資源分類
	1. 靜態資源:所有使用者存取後,得到的結果都是一樣的,稱爲靜態資源.靜態資源可以直接被瀏覽器解析
		* 如: html,css,JavaScript
	2. 動態資源:每個使用者存取相同資源後,得到的結果可能不一樣。稱爲動態資源。動態資源被存取後,需要先轉換爲靜態資源,在返回給瀏覽器
		* 如:servlet/jsp,php,asp....
		

3. 網路通訊三要素
	1. IP:電子裝置(計算機)在網路中的唯一標識。
	2. 埠:應用程式在計算機中的唯一標識。 0~65536
	3. 傳輸協定:規定了數據傳輸的規則
		1. 基礎協定:
			1. tcp:安全協定,三次握手。 速度稍慢
			2. udp:不安全協定。 速度快

web伺服器軟體:

* 伺服器:安裝了伺服器軟體的計算機
* 伺服器軟體:接收使用者的請求,處理請求,做出響應
* web伺服器軟體:接收使用者的請求,處理請求,做出響應。
	* 在web伺服器軟體中,可以部署web專案,讓使用者通過瀏覽器來存取這些專案
	* web容器


* 常見的java相關的web伺服器軟體:
	* webLogic:oracle公司,大型的JavaEE伺服器,支援所有的JavaEE規範,收費的。
	* webSphere:IBM公司,大型的JavaEE伺服器,支援所有的JavaEE規範,收費的。
	* JBOSS:JBOSS公司的,大型的JavaEE伺服器,支援所有的JavaEE規範,收費的。
	* Tomcat:Apache基金組織,中小型的JavaEE伺服器,僅僅支援少量的JavaEE規範servlet/jsp。開源的,免費的。


* JavaEE:Java語言在企業級開發中使用的技術規範的總和,一共規定了13項大的規範

* Tomcat:web伺服器軟體
	1. 下載:http://tomcat.apache.org/
	2. 安裝:解壓壓縮包即可。
		* 注意:安裝目錄建議不要有中文和空格
	3. 解除安裝:刪除目錄就行了
	4. 啓動:
		* bin/startup.bat ,雙擊執行該檔案即可
		* 存取:瀏覽器輸入:http://localhost:8080 回車存取自己
						  http://別人的ip:8080 存取別人
		
		* 可能遇到的問題:
			1. 黑視窗一閃而過:
				* 原因: 沒有正確設定JAVA_HOME環境變數
				* 解決方案:正確設定JAVA_HOME環境變數

			2. 啓動報錯:
				1. 暴力:找到佔用的埠號,並且找到對應的進程,殺死該進程
					* netstat -ano
				2. 溫柔:修改自身的埠號
					* conf/server.xml
					* <Connector port="8888" protocol="HTTP/1.1"
		               connectionTimeout="20000"
		               redirectPort="8445" />
					* 一般會將tomcat的預設埠號修改爲80。80埠號是http協定的預設埠號。
						* 好處:在存取時,就不用輸入埠號
	5. 關閉:
		1. 正常關閉:
			* bin/shutdown.bat
			* ctrl+c
		2. 強制關閉:
			* 點選啓動視窗的×
	6. 設定:
		* 部署專案的方式:
			1. 直接將專案放到webapps目錄下即可。
				* /hello:專案的存取路徑-->虛擬目錄
				* 簡化部署:將專案打成一個war包,再將war包放置到webapps目錄下。
					* war包會自動解壓縮

			2. 設定conf/server.xml檔案
				在<Host>標籤體中設定
				<Context docBase="D:\hello" path="/hehe" />
				* docBase:專案存放的路徑
				* path:虛擬目錄

			3. 在conf\Catalina\localhost建立任意名稱的xml檔案。在檔案中編寫
				<Context docBase="D:\hello" />
				* 虛擬目錄:xml檔案的名稱
		
		* 靜態專案和動態專案:
			* 目錄結構
				* java動態專案的目錄結構:
					-- 專案的根目錄
						-- WEB-INF目錄:
							-- web.xml:web專案的核心組態檔
							-- classes目錄:放置位元組碼檔案的目錄
							-- lib目錄:放置依賴的jar包


		* 將Tomcat整合到IDEA中,並且建立JavaEE的專案,部署專案。

IDEA與tomcat的相關設定

1. IDEA會爲每一個tomcat部署的專案單獨建立一份組態檔
	* 檢視控制檯的log:Using CATALINA_BASE:   "C:\Users\fqy\.IntelliJIdea2018.1\system\tomcat\_itcast"

2. 工作空間專案  和  tomcat部署的web專案
	* tomcat真正存取的是「tomcat部署的web專案」,"tomcat部署的web專案"對應着"工作空間專案" 的web目錄下的所有資源
	* WEB-INF目錄下的資源不能被瀏覽器直接存取。
3. 斷點偵錯:使用"小蟲子"啓動 dubug 啓動