- Tải Servlet Class.
- Tạo Instance of Servlet.
- Gọi phương thức
init().
- Gọi phương thức
service()
. Gọi phương thức destroy()
.
Giai đoạn 4 được thực hiện nhiều lần - 1 lần/1 HTTP request.
Giai đoạn 5 được thực hiện khi servlet container dỡ bỏ (unload)servlet.
Mỗi giai đoạn được mô tả như sau
Tải Servlet Class
Trước khi một servlet có thể được gọi thì servlet container phải tải servlet class. Theo mặc định thì servlet sẽ không được tải khi chưa nhận được request đầu tiên nào. Tuy nhiên chúng ta có thể bắt container load servlet theo tùy chỉnh của chúng ta.Tạo Instance của Servlet
Khi servlet class được tải, servlet container tạo 1 instance của servlet.Bình thường,chỉ 1 isntance duy nhất của servlet được tạo, và những request đồng thời cùng lúc tới servlet sẽ được xử lý ở cùng 1 instance của servlet.
Gọi phương thức Servlets init()
Khi servlet instance được tạo, phương thứcinit()
sẽ được gọi, cho phép servlet được khởi tạo trước khi request đầu tiền được xử lý.Chúng ta có thể xác định tham số cho phương thức init() của servlet trong web.xml file. Xem web.xml Servlet Configuration.
Gọi phương thức Servlets service()
Đối với mỗi request mà servlet nhận được, nó sẽ gọi phương thứcservice()
. Đối với HttpServlet
subclasses, phương thức doGet()
, doPost()
etc sẽ được gọi.
Đến khi nào servlet còn hoạt động trong servlet container thì phương thức
service()
còn có thể được gọi. Vì thế giai đoạn này có thể được thực hiện nhiều lầnGọi phương thức Servlets destroy()
Khi servlet container gỡ bỏ 1 servlet, phương thứcdestroy()
của servlet sẽ được gọi.
Bước này chỉ được thực hiện 1 lần vì 1 servlet chỉ được gỡ bỏ 1 lần duy nhất.
Một servlet sẽ được gỡ bỏ bởi container nếu container dừng hoạt động hoặc khi container tải lại toàn bộ ứng dụng web khi ứng dụng đang chạy.
Nhận xét này đã bị tác giả xóa.
Trả lờiXóa