Thứ Năm, 27 tháng 10, 2016

Servlet

Java Servlets là các chương trình chạy trên một Web server hoặc một Application server và thực hiện như là một tầng trung gian giữa một Yêu cầu từ một trình duyệt web hoặc HTTP client với các Database hoặc các ứng dụng trên HTTP server.
Sử dụng Servlets, bạn có thể thu thập Input từ người sử dụng thông qua các form trên trang web, hiển thị các bản ghi (record) từ một Database hoặc từ nguồn khác, và tạo các trang web động.
Java Servlets thường có chung mục đích: là các chương trình độc lập bởi việc sử dụng Common Gateway Interface (CGI). Nhưng so với CGI, thì Servlets có các lợi thế sau:
  • Hiệu năng tốt hơn đáng kể.
  • Servlets thực thi bên trong không gian địa chỉ của một Web server, không cần thiết phải tạo một tiến trình riêng biệt để xử lý mỗi yêu cầu từ Client.
  • Servlets là độc lập trên nền tảng bởi vì chúng được viết bằng Java.
  • Bởi vì viết bằng Java (mà Java cung cấp tình bảo mật cao trên Server) nên Servlets là đáng tin cậy.
  • Tính năng đầy đủ của thư viện của các lớp trong Java là luôn luôn có sẵn cho Servlets. Nó có thể giao tiếp với Applet, Database hoặc phần mềm khác thông qua các Socket và kỹ thuật RMI mà bạn đã từng thấy.

Vòng đời của Servlets

Một chu kỳ sống servlet có thể được định nghĩa là toàn bộ quá trình từ sáng tạo của nó đến sự hủy diệt.Sau đây là các đường dẫn theo sau là một servlet
  • Servlet được khởi tạo bằng cách gọi init () method.
  • Các cuộc gọi servlet service() method để xử lý yêu cầu của khách hàng.
  • Servlet được hủy bằng cách gọi destroy () method.
  • Cuối cùng, servlet là rác thải được thu thập bởi các bộ thu rác của JVM.
Bây giờ chúng ta thảo luận về các phương pháp vòng đời chi tiết.

The init() method :

  • init() method được thiết kế để được gọi là chỉ một lần. Nó được gọi là khi servlet đầu tiên được tạo ra, và không được gọi là một lần nữa cho mỗi yêu cầu người sử dụng. Vì vậy, nó được sử dụng để khởi tạo một lần, cũng như với các init() method của applet.
  • Servlet thường được tạo ra khi một người sử dụng đầu tiên gọi một URL tương ứng với servlet, nhưng bạn cũng có thể xác định rằng các servlet được nạp khi máy chủ đầu tiên được bắt đầu.
  • Khi người dùng kích hoạt một servlet, một trường hợp duy nhất của mỗi servlet được tạo ra, với mỗi yêu cầu người sử dụng kết quả trong một chủ đề mới được bàn giao cho doGet hay doPost cho phù hợp.Phương thức init () chỉ đơn giản là tạo ra hoặc tải một số dữ liệu sẽ được sử dụng trong suốt cuộc đời của servlet.

The service() method :

  •  method là phương pháp chính để thực hiện các công việc thực tế. Servlet container (tức là máy chủ web) gọi service() để xử lý request từ client (trình duyệt) và viết các response định dạng lại cho client.
  • Mỗi khi máy chủ nhận được một request cho một servlet, máy chủ sẽ tạo ra một thread mới và call service. Các service () kiểm tra loại Request HTTP (GET, POST, PUT, DELETE, vv) và gọi các method doGet, doPost, doPut, doDelete phù hợp.

Cấu trúc Servlet API

  • javax.servlet package chứa 1 abstract class tên là GenericServlet
  • Các GenericServlet kế thừa từ lớp Object và giúp thiết kế một giao thức servlet độc lập
  • Các GenericServlet triển khai interface:
  • ServletConfig: định nghĩa các method được sử dụng bởi Servlet container để truyền thông tin tới 1 Servlet mà nó khởi tạo.
  • Serializable: được định nghĩa trong java.io package để sắp đặt trạng thái của 1 đối tượng.
  • Lớp HTTPServlet là một lớp con của GenericServlet và cho phép để tạo ra một Servlet dựa trên HTTP như là một phần của một ứng dụng Web.


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

    Đăng nhận xét