Ajax cho các nhà phát triển Java: Ajax với Direct Web Remoting Sự tuần tự hóa dữ liệu không dễ dàng hơn điều này!
Số trang: 23
Loại file: pdf
Dung lượng: 325.58 KB
Lượt xem: 7
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Philip McCarthy, Nhà Phát triển, SmartStream Technologies Ltd Tóm tắt: Thật thú vị như nó có, việc thêm chức năng Ajax cho các ứng dụng của bạn có thể mang lại nhiều việc khó khăn. Trong bài viết thứ ba của loạt bài Ajax cho các nhà phát triển Java™ này, Philip McCarthy cho bạn thấy cách sử dụng Direct Web Remoting (DWR-Truy cập Web trực tiếp từ xa) để trực tiếp đặt các phương thức JavaBeans vào mã JavaScript của bạn và tự động hóa công việc đòi hỏi sự nỗ lực của Ajax. ...
Nội dung trích xuất từ tài liệu:
Ajax cho các nhà phát triển Java: Ajax với Direct Web Remoting Sự tuần tự hóa dữ liệu không dễ dàng hơn điều này! Ajax cho các nhà phát triển Java: Ajax với Direct Web RemotingSự tuần tự hóa dữ liệu không dễ dàng hơn điều này!Philip McCarthy, Nhà Phát triển, SmartStream Technologies LtdTóm tắt: Thật thú vị như nó có, việc thêm chức năng Ajax cho các ứng dụng củabạn có thể mang lại nhiều việc khó khăn. Trong bài viết thứ ba của loạt bài Ajaxcho các nhà phát triển Java™ này, Philip McCarthy cho bạn thấy cách sử dụngDirect Web Remoting (DWR-Truy cập Web trực tiếp từ xa) để trực tiếp đặt cácphương thức JavaBeans vào mã JavaScript của bạn và tự động hóa công việc đòihỏi sự nỗ lực của Ajax.Hiểu biết những điều căn bản về lập trình Ajax (fundamentals of Ajaxprogramming) là điều cần thiết, nhưng nếu bạn đang xây dựng các giao diện ngườidùng (UI) Ajax phức tạp, điều quan trọng là có thể làm việc ở một mức độ trừutượng cao hơn. Trong bài viết thứ ba của loạt bài Ajax cho các nhà phát triển Javanày, tôi thêm phần giới thiệu của số trước vào các kỹ thuật tuần tự hóa dữ liệu choAjax (data serialization techniques for Ajax), giới thiệu một kỹ thuật cho phép bạntránh những chi tiết thực dụng của việc tuần tự hóa các đối tượng Java.Trong bài trước, tôi đã chỉ cho bạn cách sử dụng JavaScript Object Notation(JSON- Ký hiệu đối tượng JavaScript) để tuần tự hóa dữ liệu theo một định dạngdễ dàng được chuyển đổi thành các đối tượng JavaScript trên máy khách. Với thiếtlập này, bạn có thể gọi các cuộc gọi dịch vụ từ xa khi sử dụng mã JavaScript vànhận các đồ thị đối tượng JavaScript trả lời, không giống như việc thực hiện mộtcuộc gọi thủ tục từ xa. Bây giờ, bạn sẽ tìm hiểu cách tiến thêm một bước nữa,bằng cách sử dụng một khung công tác chính thức hóa khả năng của bạn để thựchiện cuộc gọi thủ tục từ xa trên các đối tượng Java phía máy chủ từ mã máy kháchJavaScript.DWR là một giải pháp được cấp phép Apache, mã nguồn mở gồm các thư việnJava phía máy chủ, một servlet DWR và các thư viện JavaScript. Trong khi DWRkhông chỉ là bộ công cụ Ajax-RPC có sẵn cho nền tảng Java, mà nó còn là mộttrong những giải pháp hoàn thiện nhất và cung cấp rất nhiều chức năng có ích.Xem Tài nguyên để tải về DWR trước khi tiếp tục các ví dụ.DWR là gì?Theo các thuật ngữ đơn giản nhất, DWR là một công cụ đặt các phương thức củacác đối tượng Java phía máy chủ theo mã JavaScript. Thực tế, với DWR, bạn cóthể loại bỏ tất cả máy theo chu trình yêu cầu-trả lời của Ajax ra khỏi mã ứng dụngcủa bạn. Điều này có nghĩa là mã phía máy khách của bạn không bao giờ phải xửlý trực tiếp một đối tượng XMLHttpRequest hoặc xử lý trả lời của máy chủ. Bạnkhông cần phải viết mã tuần tự hóa đối tượng hoặc sử dụng các công cụ của bênthứ ba để chuyển các đối tượng của bạn sang XML. Bạn thậm chí không cần phảiviết mã servlet để dàn xếp các yêu cầu Ajax thành các cuộc gọi trên các đối tượngmiền Java của bạn.DWR được triển khai như là một servlet trong ứng dụng Web của bạn. Được xemnhư hộp đen, servlet này thực hiện hai vai trò chính: Thứ nhất, với mỗi lớp đượctrưng ra, DWR tự động tạo Javascript để có trong trang Web của bạn. JavaScriptđược tạo có chức năng stub để thể hiện các phương thức tương ứng trên lớp Javavà cũng thực hiện các XMLHttpRequest ở hậu trường. Các yêu cầu này được gửitới servlet DWR, mà servlet DWR, trong vai trò thứ hai của mình, dịch chuyểnyêu cầu đó thành một cuộc gọi phương thức trên một đối tượng Java phía máy chủvà gửi các giá trị trả về tới phía máy khách theo dạng trả lời servlet của nó, đ ượcmã hóa thành JavaScript. DWR cũng cung cấp các hàm tiện ích JavaScript giúpthực hiện các nhiệm vụ UI chung.Về ví dụ nàyTrước khi giải thích DWR chi tiết hơn, tôi sẽ giới thiệu một kịch bản ví dụ đơngiản. Như trong các bài viết trước đây, tôi sẽ sử dụng một mô hình tối thiểu dựatrên một cửa hàng trực tuyến, lúc này có một thể hiện sản phẩm cơ bản, một giỏmua hàng của người dùng có thể chứa các mục và một đối tượng truy cập dữ liệu(DAO) để tìm kiếm các chi tiết sản phẩm từ một kho dữ liệu. Lớp Item là một lớpgiống như được sử dụng trong bài viết trước, nhưng nó không còn thực hiện bất kỳcác phương thức tuần tự hóa nào bằng thủ công. Hình 1 mô tả thiết lập đơn giảnnày:Hình 1. Biểu đồ lớp mô tả các giỏ hàng, CatalogDAO và các lớp ItemTôi sẽ trình diễn hai trường hợp sử dụng rất đơn giản trong kịch bản này. Trướctiên, người dùng có thể thực hiện tìm kiếm văn bản trên danh mục và xem các mụcphù hợp. Thứ hai, người sử dụng có thể thêm các mục vào giỏ mua hàng và xemtổng chi phí của các mục trong giỏ hàng.Thực hiện danh mụcĐiểm khởi đầu của một ứng dụng DWR là viết mô hình đối tượng phía máy chủcủa bạn. Trong trường hợp này, tôi bắt đầu bằng cách viết một DAO để cung cấpcác khả năng tìm kiếm trên kho dữ liệu (datastore) danh mục sản phẩm.CatalogDAO.java là một lớp không trạng thái, đơn giản với một số hàm tạokhông-đối số. Liệt kê 1 cho thấy các ...
Nội dung trích xuất từ tài liệu:
Ajax cho các nhà phát triển Java: Ajax với Direct Web Remoting Sự tuần tự hóa dữ liệu không dễ dàng hơn điều này! Ajax cho các nhà phát triển Java: Ajax với Direct Web RemotingSự tuần tự hóa dữ liệu không dễ dàng hơn điều này!Philip McCarthy, Nhà Phát triển, SmartStream Technologies LtdTóm tắt: Thật thú vị như nó có, việc thêm chức năng Ajax cho các ứng dụng củabạn có thể mang lại nhiều việc khó khăn. Trong bài viết thứ ba của loạt bài Ajaxcho các nhà phát triển Java™ này, Philip McCarthy cho bạn thấy cách sử dụngDirect Web Remoting (DWR-Truy cập Web trực tiếp từ xa) để trực tiếp đặt cácphương thức JavaBeans vào mã JavaScript của bạn và tự động hóa công việc đòihỏi sự nỗ lực của Ajax.Hiểu biết những điều căn bản về lập trình Ajax (fundamentals of Ajaxprogramming) là điều cần thiết, nhưng nếu bạn đang xây dựng các giao diện ngườidùng (UI) Ajax phức tạp, điều quan trọng là có thể làm việc ở một mức độ trừutượng cao hơn. Trong bài viết thứ ba của loạt bài Ajax cho các nhà phát triển Javanày, tôi thêm phần giới thiệu của số trước vào các kỹ thuật tuần tự hóa dữ liệu choAjax (data serialization techniques for Ajax), giới thiệu một kỹ thuật cho phép bạntránh những chi tiết thực dụng của việc tuần tự hóa các đối tượng Java.Trong bài trước, tôi đã chỉ cho bạn cách sử dụng JavaScript Object Notation(JSON- Ký hiệu đối tượng JavaScript) để tuần tự hóa dữ liệu theo một định dạngdễ dàng được chuyển đổi thành các đối tượng JavaScript trên máy khách. Với thiếtlập này, bạn có thể gọi các cuộc gọi dịch vụ từ xa khi sử dụng mã JavaScript vànhận các đồ thị đối tượng JavaScript trả lời, không giống như việc thực hiện mộtcuộc gọi thủ tục từ xa. Bây giờ, bạn sẽ tìm hiểu cách tiến thêm một bước nữa,bằng cách sử dụng một khung công tác chính thức hóa khả năng của bạn để thựchiện cuộc gọi thủ tục từ xa trên các đối tượng Java phía máy chủ từ mã máy kháchJavaScript.DWR là một giải pháp được cấp phép Apache, mã nguồn mở gồm các thư việnJava phía máy chủ, một servlet DWR và các thư viện JavaScript. Trong khi DWRkhông chỉ là bộ công cụ Ajax-RPC có sẵn cho nền tảng Java, mà nó còn là mộttrong những giải pháp hoàn thiện nhất và cung cấp rất nhiều chức năng có ích.Xem Tài nguyên để tải về DWR trước khi tiếp tục các ví dụ.DWR là gì?Theo các thuật ngữ đơn giản nhất, DWR là một công cụ đặt các phương thức củacác đối tượng Java phía máy chủ theo mã JavaScript. Thực tế, với DWR, bạn cóthể loại bỏ tất cả máy theo chu trình yêu cầu-trả lời của Ajax ra khỏi mã ứng dụngcủa bạn. Điều này có nghĩa là mã phía máy khách của bạn không bao giờ phải xửlý trực tiếp một đối tượng XMLHttpRequest hoặc xử lý trả lời của máy chủ. Bạnkhông cần phải viết mã tuần tự hóa đối tượng hoặc sử dụng các công cụ của bênthứ ba để chuyển các đối tượng của bạn sang XML. Bạn thậm chí không cần phảiviết mã servlet để dàn xếp các yêu cầu Ajax thành các cuộc gọi trên các đối tượngmiền Java của bạn.DWR được triển khai như là một servlet trong ứng dụng Web của bạn. Được xemnhư hộp đen, servlet này thực hiện hai vai trò chính: Thứ nhất, với mỗi lớp đượctrưng ra, DWR tự động tạo Javascript để có trong trang Web của bạn. JavaScriptđược tạo có chức năng stub để thể hiện các phương thức tương ứng trên lớp Javavà cũng thực hiện các XMLHttpRequest ở hậu trường. Các yêu cầu này được gửitới servlet DWR, mà servlet DWR, trong vai trò thứ hai của mình, dịch chuyểnyêu cầu đó thành một cuộc gọi phương thức trên một đối tượng Java phía máy chủvà gửi các giá trị trả về tới phía máy khách theo dạng trả lời servlet của nó, đ ượcmã hóa thành JavaScript. DWR cũng cung cấp các hàm tiện ích JavaScript giúpthực hiện các nhiệm vụ UI chung.Về ví dụ nàyTrước khi giải thích DWR chi tiết hơn, tôi sẽ giới thiệu một kịch bản ví dụ đơngiản. Như trong các bài viết trước đây, tôi sẽ sử dụng một mô hình tối thiểu dựatrên một cửa hàng trực tuyến, lúc này có một thể hiện sản phẩm cơ bản, một giỏmua hàng của người dùng có thể chứa các mục và một đối tượng truy cập dữ liệu(DAO) để tìm kiếm các chi tiết sản phẩm từ một kho dữ liệu. Lớp Item là một lớpgiống như được sử dụng trong bài viết trước, nhưng nó không còn thực hiện bất kỳcác phương thức tuần tự hóa nào bằng thủ công. Hình 1 mô tả thiết lập đơn giảnnày:Hình 1. Biểu đồ lớp mô tả các giỏ hàng, CatalogDAO và các lớp ItemTôi sẽ trình diễn hai trường hợp sử dụng rất đơn giản trong kịch bản này. Trướctiên, người dùng có thể thực hiện tìm kiếm văn bản trên danh mục và xem các mụcphù hợp. Thứ hai, người sử dụng có thể thêm các mục vào giỏ mua hàng và xemtổng chi phí của các mục trong giỏ hàng.Thực hiện danh mụcĐiểm khởi đầu của một ứng dụng DWR là viết mô hình đối tượng phía máy chủcủa bạn. Trong trường hợp này, tôi bắt đầu bằng cách viết một DAO để cung cấpcác khả năng tìm kiếm trên kho dữ liệu (datastore) danh mục sản phẩm.CatalogDAO.java là một lớp không trạng thái, đơn giản với một số hàm tạokhông-đối số. Liệt kê 1 cho thấy các ...
Tìm kiếm theo từ khóa liên quan:
lập trình java công nghệ java phát triển với java lập mô hình dịch vụ web java ngôn ngữ lập trìnhGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 272 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 264 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 263 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 232 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 222 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 214 1 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 205 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 180 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 169 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 163 0 0