Java EE
Java EE hay còn được viết là J2EE là viết tắt của từ Java Enterprise Edition. Nó là một bộ chuẩn các công nghệ dành cho việc phát triển Java phía server (server-side). Những công nghệ đó bao gồm JavaServer Faces (JSF), Enterprise JavaBeans (EJBs),
Java Messaging Service (JMS), Java Persistence API (JPA), Java API for
WebSocket, Contexts and Dependency Injection (CDI), Java API for XML Web
Services (JAX-WS), Java API for RESTful Web Services (JAX-RS) và Java
API for JSON Processing (JSON-P),…
Ở phần một này chúng ta cùng tìm hiểu JavaServer Faces (JSF) là gì nào?
- JSF là một Java framework được chuẩn hóa dành cho web UIs dựa trên MVC pattern.
- JSP là một tiêu chuẩn dành cho việc tạo ra trang web từ mẫu (template).
- Facelets là sự thay thế của JSP trong tầng View dựa trên mẫu XML thuần (không có scriptlet). Chúng chỉ có thể được dùng trong ứng dụng JSF.
Để thuận tiện cho việc theo dõi và thực hành các bạn dùng công nghệ/công cụ như mình sử dụng nhé:
- Eclipse
- Maven
- GlassFish
- JSF 2.2
Facelets
Facelets là một phần đặc tả kĩ thuật (specification) của JSF và cũng là presentation technology ưa thích để xây dựng ứng dụng JSF.
Tính năng của Facelets bao gồm:
- Dùng XHTML để tạo web page.
- Hỗ trợ thự viện Facelets tag ngoài JSF, JSTL tag.
- Hỗ trợ EL.
- Tạo khuôn mẫu (template) cho các components và pages.
Lợi thế của Facelets cho project phát triển quy mô lớn gồm:
- Hỗ trợ cho tái sử dụng code thông qua các template và composite components
- Thời gian biên dịch nhanh
- Compile-time EL validation
- Render hiệu năng cao.
Nói ngắn gọn, dùng Facelets sẽ giảm thời gian và công sức cần thiết để mà develop và deploy.
Các phiên bản trước JSF dùng JSP để làm tầng view mặc định và ở JSF 2 thì đã thay thế bằng Facelets.
So sánh JSP và Facelets
JSP Compile-Time Overhead
Mỗi lần bạn chỉnh sửa, lưu lại và load lại trang JSP, bộ biên dịch JSP của server sinh ra file Java servlet và biên dịch nó thành một servlet. Quá trình này được gọi là biên dịch JSP và thông thường nó tốn khoảng 1-2 giây tùy thuộc vào hiệu năng của server.
Facelets XML Compilation
Không giống như JSP, Facelets không biên dịch thành servlet. Vì Facelets tuân thủ cú pháp XML (XML-compliant), Facelets framework dùng một SAX-based compiler để xây dựng view. Mặc khác, Facelets có thể được cấu hình để phát hiện và render thay đổi nội dung ngay lập tức.
Các bạn hãy xem ví dụ đơn giản sau về cú pháp của Facelets:
|
|
Bài này mình xin dừng lại tại đây, hẹn gặp các bạn ở bài sau về Java Persistence API (JPA)