Skip to content
Go back

Tìm Hiểu Về Java Ee 7 – Phần 1 (Jsf)

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?

Để 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é:

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:

Lợi thế của Facelets cho project phát triển quy mô lớn gồm:

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:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="https://www.w3.org/1999/xhtml"
    xmlns:h="https://java.sun.com/jsf/html"
    xmlns:f="https://java.sun.com/jsf/core">
<h:head>
    <title>The notebook</title>
</h:head>
<h:body>
    <h:outputStylesheet library="css" name="styles.css" />
    <h:form id="userForm">
        <h:messages></h:messages>
        <h:panelGrid columns="2" columnClasses="rightAlign,leftAlign">
            <h:outputLabel for="firstName" value="First Name:">
            </h:outputLabel>
            <h:inputText id="firstName" label="First Name"
                value="#{user.firstName}" required="true">
                <f:validateLength minimum="2" maximum="30">
                </f:validateLength>
            </h:inputText>
            <h:outputLabel for="lastName" value="Last Name:">
            </h:outputLabel>
            <h:inputText id="lastName" label="Last Name"
                value="#{user.lastName}" required="true">
                <f:validateLength minimum="2" maximum="30"> </f:validateLength>
            </h:inputText>
            <h:outputLabel for="email" value="Email:">
            </h:outputLabel>
            <h:inputText id="email" label="Email" value="#{user.email}">
                <f:validateLength minimum="3" maximum="30">
                </f:validateLength>
            </h:inputText>
            <h:panelGroup></h:panelGroup>
            <h:commandButton action="confirmation" value="Save">
            </h:commandButton>
        </h:panelGrid>
    </h:form>
</h:body>
</html>

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)


Share this post on:

Previous Post
Sách về Đầu tư