JSP Là Gì? So Sánh Với Java Servlet

JSP là gì? So Sánh Với Java Servlet

Kiến Thức 02-07-2021 by nguyenvancung

JSP là một trong những công nghệ web Java đầu tiên, JavaServer Pages vẫn được sử dụng rộng rãi để xây dụng các trang web động để kết nối đến Java backend.

jsp là gì

JavaServer Pages (JSP) là một công nghệ tiêp chuẩn Java cho phép lập trình viên có thể viết các trang web động, được xây dựng trên các đặc tính của Java Servlet. Hai công nghệ này thường đi đôi và hoạt động cùng nhau.

JSP cũng liên quan chặt chẽ với JSF (JavaServer Faces), một đặc tả của Java để xây dựng ứng dụng web theo cấu trúc MVC. JSP là một công nghệ cũ và đơn giản hơn so với JSF. Các công cụ để phát triển ứng dụng website như Eclipe, Mojarra là những công cụ khá phổ biến để phát triển ứng dụng website với JSP tuy nhiên người dùng vẫn ưa thích với việc triển khai JSF.

Mặc dù JSP không phải là lựa chọn ưa tích của hầu hết các lập trình viên để thiết kế website động nhưng nó là một công nghệ web cốt lõi. Các trang sử dụng JSP xây dựng khá nhanh chóng đồng thời chúng liền mạch với Java Servlet bên trong server container như Tomcat.

Ở đây tôi sẽ nói nhanh về các trang JSP bao gồm các thư viện và thẻ chuẩn JSP (JSTL).

Trang JSP

Một trang JSP đơn giản bao gồm ngôn ngữ đánh dấu đó là HTML được nhúng cùng với các thẻ JSP, khi tệp được máy chủ web xử lý và hiển thị dưới dạng văn bản như một trang web, các thẻ JSP được nhúng trong trang sẽ được sử dụng để gọi và dữ liệu từ máy chủ sẽ trả về phía máy khách.

Ví dụ 1:

<html>

  <body>

    <span>${3 + 3} quả là 6</span>

  </body>

</html>

Trong ví dụ trên chúng ta có thể thấy một khối thẻ HTML và cú pháp JSP, và dòng lệnh này được viết để gửi đến Java server và được viết bằng Expression Language (EL).

JSP trong servelt container

JSP phải được triển khai  bên trong Java servlet container, và để triển khai một trang web dựa trên JSP và servlet chúng ta sẽ đóng gói các tệp .jsp, mã Java và siêu dữ liệu khác bên trong một tệp .war là một tệp .zip đơn giản có cấu trúc thông thường đối với các ứng dụng web.

Ví dụ của JSP

Chúng ta sẽ sử dụng một ứng dụng mẫu trong Tomcat để bắt đầu JavaServer Pages, và nếu các bạn chưa cài đặt Tomcat hãy truy cập trang trang Tomcat để tải xuống, hiện hay Tomcat 9 tương thích với Servlet 4.0JSP 2.3.

Tại sao chúng ta dùng JSP

Dưới đây là những lý do chúng ta sử dụng JSP:

- Trong các trang JSP, việc thực thi nhanh hơn nhiều các ngôn ngữ khác

- Nó tốt hơn nhiều so với Common Gateway Interface(CGI)

- Máy chủ JSP luôn được biên dịch trước khi nó được xử lý bởi máy chủ làm giảm tải máy chủ

- Được xây dựng bởi API Servlets do đó nó có quyền truy cập vào tất cả các API Java, JNDI, JDBC, EJB và các thành phần khác của Java.

Vòng đời ServerLet

Vòng đời của Servlet được mô phỏng dưới đây

1. Bắt đầu: thực thi ServerLet

2. Loading & Instantiation void init(): Được gọi lần đầu tiên khi nạp Servlet, nó cho phép ta khởi tạo servlet

3. Khởi tạo void service(): Phục vụ một yêu cầu được gửi đến

4. Xử lý yêu cầu và hủy servlet: Ứng dụng Java trước tiên phải xác định được mã nào là cần thiết để thực thi URL để phản hồi, và cũng là để hủy servlet Void ở cuối vòng đời.

5. Kết thúc chuỗi Request: Khi service() hoàn thành nhiệm vụ của nó, lồng có thể quay trở lại nhóm luồng được quản lý bởi servlet container.

6. Kết thúc: Kết thúc 1 vòng đời servlet.

7. Đóng: Servlet dừng việc thực thi.

Sự khác nhau giữ Servlet và JSP

Dưới đây là những điểm khác nhau của Servlet và JSP

Servlet

- Servlet chạy nhanh hơn JSP.

- Code khó hơn.

- Trong kiến trức MVC servlet làm việc như một controller.

- Được sử dụng khi có quá nhiều trình xử lý dữ liệu liên quan.

- Không có cơ sở viết thẻ tùy chỉnh trong servlets.

- Servlet là một Java code.

- Nó sử dụng được tất cả các giao thức bao gồm HTTP.

- Chúng ta có thể ghi đè phương thức service().

- Trong Servlets quản lý phiên không được tự động bật, người dùng phải tự chỉnh chúng.

- Trong Servlet bạn phải thực hiện tất cả các logic nghiệp vụ trong một tệp duy nhất.

- Việc sửa đổi Servlet tốn nhiều thời gian máy chủ chạy lại.

JSP

- JSP chạy chậm hơn JSP vì cần thời gian để biên dịch và chuyển đổi thành các Servlet.

- Nó dễ viết hơn Servlet.

- Trong kiến trúc MVC nó làm việc như một View để hiển thị dữ liệu đầu ra.

- JSP được sử dụng khi không có sự tham gia của việc thực thi xử lý dữ liệu lớn.

- Ta có thể dễ dàng xây dựng các thẻ tùy chỉnh.

- Là một mã dựa trên HTML.

- Chỉ có thể chấp nhận các yêu cầu từ HTTP.

- Trong JSP ta không thể ghi đè phương thức service();

- Trong JSP quản lý phiên tự động được bật.

- Với JSP logic nghiệp vụ được tách ra khỏi logic trình bày bằng các sử dụng JavaBeans.

- Sửa đổi JSP diễn ra nhanh chóng.

Đọc thêm: VPS Là Gì? So Sánh Với Các Loại Hosing Khác

(0) Bình Luận “JSP là gì? So Sánh Với Java Servlet”

Bình Luận

Nội dung *

Name *

Email *