Servlet基本知識

注意:開發Servlet需要導入servlet-api.jar包。

1. get和post的區別

get是form默認的提交方式。如果通過一個超鏈訪問某個地址,是get方式
如果在地址欄直接輸入某個地址,是get方式
提交數據會在瀏覽器顯示出來不可以用於提交二進制數據,比如上傳文件。

哪些是get方式呢?

1)form默認的提交方式
2)如果通過一個超鏈訪問某個地址
3)如果在地址欄直接輸入某個地址
4)ajax指定使用get方式的時候

post必須在form上通過 method=”post” 顯示指定。
提交數據不會在瀏覽器顯示出來可以用於提交二進制數據,比如上傳文件。

哪些是post方式呢?

1)在form上顯示設置 method=”post”的時候
2)ajax指定post方式的時候

2. 生命週期

Servlet 生命週期可被定義爲從創建直到毀滅的整個過程。以下是 Servlet 遵循的過程:
image

1)實例化:當用戶通過瀏覽器輸入一個路徑,這個路徑對應的servlet被調用的時候,該Servlet就會被實例化。
注意: 不管訪問多少次servlet,只會實例化一次,這是由Tomcat服務器實例化的。

2)初始化:init方式是一個實例方法,所以會在構造方法執行後執行。
注意: init初始化 只會執行一次。

3)提供服務:接下來就是執行service()方法,然後通過瀏覽器傳遞過來的信息進行判斷,是調用doGet()還是doPost()方法。

4)銷燬:調用destroy()方法。

5) 被回收:當該Servlet被銷燬後,就滿足垃圾回收的條件了。當下一次垃圾回收GC來臨的時候,就有可能被回收。

在如下幾種情況下,會調用destroy():

1)該Servlet所在的web應用重新啓動。

2)關閉tomcat的時候 destroy()方法會被調用,但是這個一般都發生的很快,不易被發現。

2. Servlet三種實現方式

參考博客:(Servlet三種實現方式

1)實現Servlet接口,然後實現接口中的五個方法;

2)繼承GenericServlet,只需要實現一個方法:service;

3)繼承HttpServlet,複寫doGet和doPost方法;(最常用)

3.Servlet中頁面的跳轉

1)在服務端進行頁面跳轉

request.getRequestDispatcher(“success.html”).forward(request, response);

2)在客戶端進行頁面跳轉

response.sendRedirect(“fail.html”);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章