Servlet基礎入門

Servlet基礎入門

1、概念:運行在服務器端的小程序

	Servlet就是一個接口,定義了Java類被瀏覽器訪問到(tomcat識別)的規則。	
	自定義一個類,實現Servlet接口,複寫方法。

2、快速入門:

	a. 創建JavaEE項目
	b. 定義一個類,實現Servlet接口
	    public class ServletDemo1 implements Servlet
	c. 實現接口中的抽象方法
	d. 配置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>

3、執行原理:

	A. 當服務器接受到客戶端瀏覽器的請求後,會解析請求URL路徑,獲取訪問的Servlet的資源路徑
	B. 查找web.xml文件,是否有對應的<url-pattern>標籤體內容。
	C. 如果有,則在找到對應的<servlet-class>全類名
	D. tomcat會將字節碼文件加載進內存,並且創建其對象
	E. 調用其方法

4、Servlet中的生命週期方法:

	A. 被創建:執行init方法,只執行一次
	    Servlet什麼時候被創建?
	        默認情況下,第一次被訪問時,Servlet被創建
	        可以配置執行Servlet的創建時機。
	        在<servlet>標籤下配置
	                1. 第一次被訪問時,創建 <load-on-startup>的值爲負數
	                2. 在服務器啓動時,創建 <load-on-startup>的值爲0或正整數
	
	    Servlet的init方法,只執行一次,說明一個Servlet在內存中只存在一個對象,Servlet是單例的
	            多個用戶同時訪問時,可能存在線程安全問題。
	            解決:儘量不要在Servlet中定義成員變量。即使定義了成員變量,也不要對修改值
	
	B. 提供服務:
	    執行service方法,執行多次
	    每次訪問Servlet時,Service方法都會被調用一次。
	
	C. 被銷燬:
	    執行destroy方法,只執行一次
	    Servlet被銷燬時執行。服務器關閉時,Servlet被銷燬
	    只有服務器正常關閉時,纔會執行destroy方法。
	    destroy方法在Servlet被銷燬之前執行,一般用於釋放資源

5、Servlet3.0:

	A.好處:
	    支持註解配置。可以不需要web.xml了。
	
	B.步驟:
	    a. 創建JavaEE項目,選擇Servlet的版本3.0以上,可以不創建web.xml
	    b. 定義一個類,實現Servlet接口
	    c. 複寫方法
	    d. 在類上使用@WebServlet註解,進行配置
		@WebServlet("資源路徑")
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章