1. 程式人生 > 實用技巧 >vue學習2

vue學習2

Servlet:server applet

* 概念:執行在伺服器端的小程式
	* Servlet就是一個介面,定義了Java類被瀏覽器訪問到(tomcat識別)的規則。
	* 將來我們自定義一個類,實現Servlet介面,複寫方法。
* 快速入門:
	1. 建立JavaEE專案
	2. 定義一個類,實現Servlet介面
		* public class ServletDemo1 implements Servlet
	3. 實現介面中的抽象方法
	4. 配置Servlet
		 在web.xml中配置:
	    <!--配置Servlet -->
	    <servlet>
	        <servlet-name>demo1</servlet-name>
	        <servlet-class>cn.itcast.web.servlet.ServletDemo1</servlet-class>
	    </servlet>
	
	    <servlet-mapping>
	        <servlet-name>demo1</servlet-name>
	        <url-pattern>/demo1</url-pattern>
	    </servlet-mapping>
* 執行原理:
	1. 當伺服器接受到客戶端瀏覽器的請求後,會解析請求URL路徑,獲取訪問的Servlet的資源路徑
	2. 查詢web.xml檔案,是否有對應的<url-pattern>標籤體內容。
	3. 如果有,則在找到對應的<servlet-class>全類名
	4. tomcat會將位元組碼檔案載入進記憶體,並且建立其物件
	5. 呼叫其方法
* Servlet中的生命週期方法:
	1. 被建立:執行init方法,只執行一次
		* Servlet什麼時候被建立?
			* 預設情況下,第一次被訪問時,Servlet被建立
			* 可以配置執行Servlet的建立時機。
				* 在<servlet>標籤下配置
					1. 第一次被訪問時,建立
                		* <load-on-startup>的值為負數
		            2. 在伺服器啟動時,建立
		                * <load-on-startup>的值為0或正整數
                * Servlet的init方法,只執行一次,說明一個Servlet在記憶體中只存在一個物件,Servlet是單例的
			* 多個使用者同時訪問時,可能存線上程安全問題。
			* 解決:儘量不要在Servlet中定義成員變數。即使定義了成員變數,也不要對修改值

	2. 提供服務:執行service方法,執行多次
		* 每次訪問Servlet時,Service方法都會被呼叫一次。
	3. 被銷燬:執行destroy方法,只執行一次
		* Servlet被銷燬時執行。伺服器關閉時,Servlet被銷燬
		* 只有伺服器正常關閉時,才會執行destroy方法。
		* destroy方法在Servlet被銷燬之前執行,一般用於釋放資源
* Servlet3.0:
	* 好處:
		* 支援註解配置。可以不需要web.xml了。

	* 步驟:
		1. 建立JavaEE專案,選擇Servlet的版本3.0以上,可以不建立web.xml
		2. 定義一個類,實現Servlet介面
		3. 複寫方法
		4. 在類上使用@WebServlet註解,進行配置
			* @WebServlet("資源路徑")
* Servlet的體系結構	
	Servlet -- 介面
		|
	GenericServlet -- 抽象類
		|
	HttpServlet  -- 抽象類

	* GenericServlet:將Servlet介面中其他的方法做了預設空實現,只將service()方法作為抽象
		* 將來定義Servlet類時,可以繼承GenericServlet,實現service()方法即可

	* HttpServlet:對http協議的一種封裝,簡化操作
		1. 定義類繼承HttpServlet
		2. 複寫doGet/doPost方法

* Servlet相關配置
	1. urlpartten:Servlet訪問路徑
		1. 一個Servlet可以定義多個訪問路徑 : @WebServlet({"/d4","/dd4","/ddd4"})
		2. 路徑定義規則:
			1. /xxx:路徑匹配
			2. /xxx/xxx:多層路徑,目錄結構
			3. *.do:副檔名匹配

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 啟動