Chủ Nhật, 31 tháng 8, 2014

Describe Servlet Life Cycle

Servlet Life Cycle có thể được định nghĩa như một quá trình từ khi nó được tạo cho đến khi nó bị phá hủy.
- Servlet được khởi tạo bằng cách gọi phương thức init()
- Servlet gọi phương thức service() để xử lý một request của client
- Servlet kết thúc qua việc gọi phương thức destroy()
- Cuối cùng, servlet được thu gom bởi các bộ thu gom của JVM

  • The init() method

Phương thức init được thiết kế để gọi chỉ một lần. Nó được gọi khi servlet được tạo lần đầu tiên, mỗi request của người dùng sau sẽ không được gọi lại. Vì vậy nó được sử dụng cho việc khởi tạo một lần. Servlet thường được tạo khi một user gọi url đàu tiên tương ứng tới servlet, nhưng cũng có thể chỉ rõ khi nào servlet được load khi server khởi động lần đầu.
Khi một user gọi một servlet, một thể hiện của mỗi servlet được tạo, với mỗi kết quả request của user trọng một thread được chuyển tới doGet hoặc doPost thích hợp. Phương thức init() tạo hoặc tải một vài dữ liệu đơn giản sẽ được sử dụng trong suốt chu kỳ sống của servlet.

  • The service() method
Phương thức service() là phương thức chính để thực hiện nhiệm vụ cụ thể. Servlet gọi phương thức service() để xử lý request gửi từ client và định dạng respone trả lại client.
Mỗi khi server nhận một request cho servlet, server tạo ra một thread mới và gọi service. Phương thức service kiểm tra loại HTTP request (GET, POST, PUT, DELETE) và gọi phương thức doGet, doPOST, doPUT, doDelete tương ứng
Phương thức service() được gọi và tham gia vào phương thức doGet, doPost, doPut, doDelete tương ứng. Vì vậy ta không cần phải làm gì với phương thức service() nhưng phải override phương thức doGet, doPost() phụ thuộc vào loại request nhận từ client

  • The doGet() method
Một kết quả request loại Get từ một một request cho một url hoặc từ một trang HTML không có phương thức cụ thể và nó được xử lý by phương thức doGet()

  • The doPost() method
Một kết quả request loại Post từ một trang HTML chỉ rõ danh sách POST được xử lý bỏi phương thức doPost()

  • The destroy() method
Phương thức destroy() được gọi chỉ một lần vào thời điểm kết thúc một vòng làm việc của servlet. Phương thức này cho phép thay đổi đóng kết nối databases, dừng thread chạy ngầm, ghi cookie...
Sau khi phương thức destroy() được gọi, servlet được đánh dấu cho bộ thu gom rác.

Không có nhận xét nào:

Đăng nhận xét