Tổng quan về một số công nghệ, Framework - Pdf 63

Java overview
Trang 28/66
3.4. J2ME application
3.4.1. Đặc điểm ứng dụng J2ME
J2ME (Java 2 Micro Edition) là nền tảng cho các ứng dụng nhỏ gọn, với tài nguyên, và bộ nhớ hạn
chế: Thẻ cá nhân, Mobile, PDA, Embedded system,...
3.4.2. Tổ chức ứng dụng J2ME
3.4.3. Triển khai ứng dụng J2ME
3.5. Distributed application
4. Tổng quan về một số công nghệ, Framework
4.1. Servlet / JSP
4.1.1. Tổng quan
Servlet và JSP (JavaServer Pages) là hai công nghệ căn bản đầu tiên cho việc xây dựng các ứng
dụng web động trên nền Java. Mặc dù thường được áp dụng để xây dựng các ứng dụng web đơn
giản nhưng thực tế Servlet và JSP lại là nền tảng quan trọng trong kiến trúc J2EE (sự mờ nhạt về
ranh giới giữa ứng dụng web và ứng dụng J2EE).
Vào thời điểm các công nghệ J2EE hiện nay chưa ra đời, Servlet/JSP là giải pháp cho các ứng
dụng web động phức tạp, độc lập hệ nền và cần độ tin cậy cao thay cho các ứng dụng web động
CGI có nhiều hạn chế.
Một ứng dụng web xây dựng dựa trên Servlet/JSP phải chạy trên WebServer có Container hỗ trợ
Java Servlet/JSP, Tomcat là một WebServer điển hình cho loại Container này.
Servlet và JSP có quan hệ mật thiết với nhau. Trong một ứng dụng web, về nguyên tắc có thể chỉ
sử dụng hoàn toàn các Servlet, hoàn toàn JSP, hoặc kết hợp cả hai để đảm nhận tất cả các nhiệm
vụ: giao diện người dùng, xử lý nghiệp vụ hoặc kết nối CSDL,... Nhưng để phát huy tối đa ưu điểm
của từng công nghệ, người phát triển thường sử dụng JSP ở tầng Presentation, Servlet ở tầng
Business, kết nối CSDL. Chi tiết về Servlet, JSP được trình bày dưới đây:
4.1.2. Servlet
a. Đặc điểm
Servlet là loại kịch bản được nạp và thực thi ở phía Server tại trình chủ WebServer. Servlet tiếp
nhận yêu cầu từ phía Client, thực hiện xử lý nghiệp vụ và trả kết quả về cho Client:


• Giúp cho quá trình phát triển, triển khai, bảo trì ứng dụng Web được dễ dàng hơn
• Đơn giản quá trình phát triển với các thẻ, thư viện: taglib, bean,...
b. Các vấn đề liên quan tới JSP
• WebServer hỗ trợ JSP (Tomcat)
• Vòng đời JSP: Init, Service, Destroy
• Giao thức HTTP (Request/Response, POST/GET Method)
• Các thẻ JSP
• Sử dụng taglib trong JSP >> độc lập design giao diện
• Các đối tượng "ngầm" trong JSP
4.1.4. Quan hệ Servlet, JSP
a. Sự khác nhau
• Phong cách viết mã: Pure Java <> Nhúng mã Java.
• Servlet phải dịch sang class, JSP được WebServer đảm nhận.
• JSP chỉ là một phiên bản đơn giản của Servlet, được compile ra Servlet
• JSP mềm dẻo hơn Servlet
b. Kết hợp Servlet, JSP
Client gửi yêu cầu tới WebServer, Servlet tiếp nhận, xử lý yêu cầu trả lại kết quả vào trong bean.
JSP truy xuất bean, gửi kết quả (HTML) tới Client.

4.2. JavaScript, CSS, Ajax
4.2.1. JavaScript
Hãng Netscape đã đưa ra ngôn ngữ script có tên là LiveScript để thực hiện chức năng đáp ứng
yêu cầu từ phía người dùng. Sau đó ngôn ngữ này được đổi tên thành JavaScript để tận dụng tính
đại chúng của ngôn ngữ lập trình Java. Mặc dù có những điểm tương đồng giữa Java và
JavaScript, nhưng chúng vẫn là hai ngôn ngữ riêng biệt.
JavaScript là ngôn ngữ dưới dạng script có thể gắn với các file HTML. Nó không được biên dịch
mà được trình duyệt diễn dịch. Không giống Java phải chuyển thành các mã dễ biên dịch, trình
duyệt đọc JavaScript dưới dạng mã nguồn.
Tuy không phải là ngôn ngữ hướng đối tượng do không hỗ trợ các lớp, không có tính kế thừa
nhưng JavaScript cũng được viết dựa trên các đối tượng. Và giống như Java, JavaScript độc lập

Sử dụng CSS:
Java overview
Trang 32/66

Các vấn đề liên quan:
• Các thuộc tính của đối tượng Form (tham khảo tại W3C)
4.2.3. Ajax
a. Khái niệm về Ajax
Ajax là thuật ngữ công nghệ được nhắc tới nhiều trong một vài năm gần đây xung quanh các vấn
đề liên quan tới thế hệ Web2.0, chính xác là từ tháng 2 năm 2005 sau
bài viết nổi tiếng của Jesse
James Garrett trên trang Adaptive Path. Nhưng thực sự Ajax không phải là một công nghệ, nó là
sự kết hợp của nhiều công nghệ với mỗi thế mạnh riêng của mình để tạo nên sức mạnh chung của
Ajax.
Đúng như tên viết tắt của mình, AJAX - " Asynchronous JavaScript and XML ", cũng có tài liệu cho
rằng "Asynchronous JavaScript+CSS+DOM+XMLHttpRequest" là sự kết hợp của các công nghệ
sau:
• Thể hiện web theo tiêu chuẩn XHTML và CSS;
• Nâng cao tính năng động và phản hồi bằng DOM (
Document Object Model
);
• Trao đổi và xử lý dữ liệu bằng
XML và XSLT
;
• Truy cập dữ liệu theo kiểu bất đồng bộ (asynchronous) bằng
XMLHttpRequest
;
• Và tất cả các kỹ thuật trên được liên kết lại với nhau bằng
JavaScript
.

cho từng nội dung.
• Vấn đề bảo mật khi ứng dụng có dùng Ajax
Java overview
Trang 34/66
4.3. AWT, Swing
AWT và Swing là hai components GUI dùng cho các ứng dụng Java Desktop được Sun phát triển
trong bộ thư viện JFC (
Phần 3.1.2). Phần này chủ yêu đi sâu vào các nội dung của Swing, bộ thư
viện GUI Java mạnh nhất hiện nay.
4.3.1. AWT
AWT (Abstract Window Toolkit) là bộ thư viện hỗ trợ giao diện đồ họa GUI đầu tiên của Sun. Hiện
tại AWT chỉ phù hợp cho các ứng dụng GUI đơn giản, hoặc các ứng dụng Applet.
Đặc điểm của AWT:
• Tập hợp rất nhiều thành phần GUI
• Mô hình bắt sự kiện mạnh
• Quản lý Layout, giúp cho các thành phần của ứng dụng độc lập với kích cỡ, độ phân giải
• Cung cấp các lớp truyền dữ liệu với Clipboard
• package: java.awt
Hệ thống phân cấp các thành phần trong AWT
Quản lý Layout
Xử lý sự kiện
Deploy ứng dụng
4.3.2. Swing
a. Đặc điểm
Swing ra đời sau AWT, có các đặc điểm sau:
• Mang tất cả các đặc điểm của AWT
• Mã thuần Java với các components AWT (Button, Toolbar,...)
• Bổ sung một tập các components bậc cao (ListView, TreeView, Tab,...)
• Hỗ trợ Look and Feel độc lập với OS
• package: javax.swing

• WindowEvent: Sự kiện liên quan tới Close, Open, Zoom một cửa sổ WIndow,..
• ...
Mọi sự kiện đều được kế thừa từ lớp EventObject.
e. Deploy ứng dụng
Đóng gói, triển khai ứng dụng Desktop (Phần 2.4).
4.3.3. AWT vs Swing
Components AWT Swing
Pros
- Tốc độ
- Hỗ trợ applet nhúng trên Browser
- Look and Feel của OS
- Tính thẩm mỹ cao hơn AWT, nhiều
components hơn AWT
- Look and Feel độc lập OS
Cons
- Tính cơ động không cao do một số
components phụ thuộc platform
- Không hỗ trợ một số thuộc tính như
icons, tooltip
- Một số Browser không hỗ trợ
- Tốc độ chậm hơn AWT
4.4. Mô hình MVC
Khi xây dựng ứng dụng phần mềm thì người phát triển thường tiếp cận theo cách là xây dựng ứng
dụng theo một mô hình nào đó, và mô hình này được xây dựng trước, mô hình này giúp người
phát triển không phải lo lắng về cấu trúc chương trình vì mô hình đã được dựng sẳn, họ chỉ phải
thực hiện các module nghiệp vụ. MVC là mô hình nổi tiếng cho các ứng dụng xây dựng trên nền
Java, từ các ứng dụng Web thông thường tới các ứng dụng J2EE, hay Desktop. Vai trò và ưu điểm
của MVC sẽ dễ thấy hơn nếu chúng ta xem xét tới các mô hình dành cho ứng dụng web trên
Servlet, JSP.
Java overview

web) xây dựng trên mô hình MVC có ưu điểm là rất dễ bảo trì và có thể mở rộng với các ứng dụng
phức tạp.
MVC là kỹ thuật được sử dụng rộng rãi trong lập trình chuyên nghiệp, đặc biệt là trong kỹ thuật làm
web, tạo cho website có khả năng linh động hơn. Thực tế có rất nhiều lập trình viên phát triển ứng
dụng của mình theo mô hình MVC dù đó là bất kỳ ngôn ngữ nào. a. Model
Là một đối tượng hoặc tập hợp các đối tượng biểu diễn cho phần dữ liệu của chương trình, ví dụ
các dữ liệu được lưu trong cơ sở dữ liệu (CSDL) hay từ các hệ thống ứng dụng khác (như mail...).
Java overview
Trang 39/66
b. View
Là phần giao diện với người dùng, bao gồm việc hiện dữ liệu ra màn hình, cung cấp các menu, nút
bấm, hộp đối thoại, chọn lựa..., để người dùng có thể thêm, xóa, sửa, tìm kiếm và làm các thao tác
khác đối với dữ liệu trong hệ thống.
View trong mô hình MVC của ứng dụng web bao gồm HTML và các trang JSP. Các trang HTML
được dùng với mục đích tạo ra trang tĩnh, trong khi JSP có thể tạo ra trang với nội dung tĩnh hay
động.
c. Controller
Là phần điều khiển toàn bộ logic về hoạt động của giao diện, tương tác với thao tác của người
dùng (từ chuột, bàn phím và các thiết bị ngoại vi khác) và cập nhật, thao tác trên dữ liệu theo đầu
vào nhận được và điều khiển việc chọn phần “View” thích hợp để chuyển dữ liệu tới người dùng.
Trong ứng dụng web, Controller thường được thiết kế bằng Servlet, thực hiện các nhiệm sau:
• Chặn các request từ phía client.
• Chuyển các request tới các bộ phận dịch vụ để thực hiện.
• Hoặc là gọi các toán tử nghiệp vụ hoặc là uỷ thác tới một handler khác.
• Hổ trợ lựa chọn view tiếp theo cho client.
• Trã về view cho client.
4.5. Struts

4.5.2. Đặc điểm của Struts
• OpenSource, cộng đồng đông đảo
• Áp dụng mô hình MVC
• Struts là framework cho ứng dụng web, không phải ứng dụng J2EE: (Triển khai theo dạng
file .WAR cho các Web Server)
• Áp dụng Struts khá dễ dàng, đơn giản: Download Struts framework (hiện là version 2.0.6 -
March 22, 2007), cấu hình ứng dụng với các thư viện (Nhiều IDE hỗ trợ)
• Bộ thư viện thẻ taglib phong phú cho JSP. Hỗ trợ validate dữ liệu, thông báo lỗi,...
Java overview
Trang 41/66
• Thuận lợi cho công tác bảo trì, nâng cấp
• Struts chỉ hướng vào tầng Controller, có quan điểm là chỉ hướng vào tầng View (Bản thân
chỉ là sự mở rộng của Servlet & JSP)
• Quan điểm về bộ thư viện taglib của Struts: phải load toàn bộ >> tốn bộ nhớ, ứng dụng
chạy chậm,...
• Struts <> JSF
• Dự án Struts đã đóng băng (hay đã hoàn thiện ở mức chín muồi)
4.5.3. Cấu hình ứng dụng Struts
Ví dụ về tổ chức của một ứng dụng dựa trên Struts:

Bên cạnh file cấu hình web.xml cho ứng dụng web thông thường, ứng dụng Struts còn có struts-
config.xml là file cấu hình để khởi tạo các tài nguyên cần thiết, bao gồm thông số kết nối CSDL các
ActionForms để lấy các yêu cầu của người dùng, ActionMappings để chỉ đến các Actions phía trình
phục vụ Server, và các ActionForward để chọn các trang hiển thị. Ngoài ra còn có các file mô tả thư
viện taglib của ứng dụng (các file .TLD).
Dưới đây là một dạng đơn giản của struts-config.xml:
• <data-sources>: Thông số kết nối CSDL
• <form-beans>: Khai báo các form của ứng dụng
Java overview
Trang 42/66


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status