java-servlet

Java Servlet 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.

Hiểu đơn giản, Servlet là một chương trình chạy trên môi trường Web_Server hoặc môi trường Application có thực thi mã java với nhiệm vụ chính là giúp thực thi câu lệnh một cách độc lập giúp kết nối các lớp với nhau.

Servlet là gì?

Servlet có thể được mô tả bằng nhiều cách, tùy thuộc vào ngữ cảnh:

  • Servlet là một công nghệ được sử dụng để tạo ra ứng dụng web.
  • Servlet là một API cung cấp các interface và lớp bao gồm các tài liệu.
  • Servlet là một thành phần web được triển khai trên máy chủ để tạo ra trang web động.

Có nhiều interface và các lớp trong API servlet như Servlet, GenericServlet, HttpServlet, ServletRequest, ServletResponse, …

LUYỆN THI CHỨNG CHỈ OCA

Kiến trúc Servlet

Sơ đồ dưới đây cho thấy vị trí của Servlets trong một Ứng dụng Web.

Kiến trúc servlet

Môi trường làm việc của Servlet

Một Servlet là một lớp Java và vì thế cần được thực thi trên một máy ảo Java (JVM) bằng một dịch vụ gọi là servlet engine. Servlet engine tải lớp servlet lần đầu tiên servlet được yêu cầu, hoặc ngay khi servlet engine được bắt đầu. Servlet ngừng tải để xử lý nhiều yêu cầu khi servlet engine bị tắt hoặc nó bị dừng lại.

JSP Servlet

Tóm lại, JSP là mở rộng của Servlet. Trong thực tế, JSP và Servlet được sử dụng đồng thời để phát triển ứng dụng.

Nếu JSP đại diện cho trang web thì Servlet đại diện cho các thành phần Java.

Servlet viết code HTML khó khăn hơn, nhưng viết code Java cực kỳ đơn giản. Ngược lại với Servlet, JSP viết code HTML cực kỳ dễ dàng tuy nhiên việc viết code Java khó khăn và gây rối cho người mới bắt đầu học Java web.

Trong mô hình MVC, Servlet xử lý phần controller còn JSP xử lý phần view. 

Nhiệm vụ của Servlet

Servlet thực hiện các nhiệm vụ chính sau đây:

  • Đọc dữ liệu rõ ràng do khách hàng (trình duyệt) gửi. Điều này bao gồm một mẫu HTML trên một trang Web hoặc nó cũng có thể đến từ một applet hoặc một chương trình khách hàng HTTP tùy chỉnh.
  • Đọc dữ liệu yêu cầu HTTP ẩn được gửi bởi khách hàng (trình duyệt). Điều này bao gồm các cookie, loại phương tiện truyền thông và các chương trình nén mà trình duyệt hiểu được, v.v.
  • Xử lý dữ liệu và tạo ra các kết quả. Quá trình này có thể yêu cầu nói chuyện với một cơ sở dữ liệu, thực hiện một cuộc gọi RMI hoặc CORBA, gọi một dịch vụ Web, hoặc tính trực tiếp phản hồi.
  • Gửi dữ liệu rõ ràng (tức là tài liệu) tới khách hàng (trình duyệt). Tài liệu này có thể được gửi bằng nhiều định dạng, bao gồm văn bản (HTML hoặc XML), nhị phân (hình ảnh GIF), Excel, v.v …
  • Gửi phản hồi HTTP ẩn cho khách hàng (trình duyệt). Điều này bao gồm nói với trình duyệt hoặc các trình khách khác loại tài liệu đang được trả về (ví dụ, HTML), thiết lập cookie và các tham số bộ nhớ đệm, và các tác vụ khác.

Java Developer là gì? Làm thế nào trở thành Java Developer?

Gói Servlet

Java Servlets là các lớp Java chạy bởi một máy chủ web có một trình thông dịch hỗ trợ đặc tả Java Servlet.

Servlets có thể được tạo ra bằng cách sử dụng các gói javax.servlet và javax.servlet.http , đây là một phần chuẩn của phiên bản Enterprise của Java, một phiên bản mở rộng của thư viện lớp Java hỗ trợ các dự án phát triển quy mô lớn.

Các lớp này thực hiện các đặc tả Java Servlet và JSP.

Các servlet Java đã được tạo ra và biên dịch giống như các lớp Java khác. Sau khi cài đặt gói servlet và thêm chúng vào Classpath của máy tính, bạn có thể biên dịch các servlet bằng trình dịch Java của JDK hoặc bất kỳ trình biên dịch hiện tại nào khác.

Ưu điểm của JSP:

  • Hỗ trợ cho việc thiết kế giao diện web dễ dàng hơn.
  • Có vai trò lớn trong việc cho phép thiết kế web tạo nên những trang web động.
  • Có thể viết một nơi và chạy bất cứ nơi nào.

Hạn chế:

  • Tiêu tốn dung lượng lưu trữ phía server gấp đôi.
  • Lần đầu tiên truy cập vào trang JSP sẽ mất nhiều thời gian chờ.

Tại sao bạn nên biết Servlet?

Nếu bạn đang đi theo hướng java web thì bạn nên biết về Servlet vì nó là core của java web.

Nhưng bạn chỉ cần học servlet ở mức độ biết là đủ, không cần đi sâu. Vì hiện nay có khá nhiều framework mạnh mẽ được sử dụng để tạo ra một trang web bằng Java. Như Spring MVC Web, Struts, …

Happy learning!!!

Bài viết liên quan

Leave a Reply

Your email address will not be published.