Xây dựng ứng dụng RSS Reader sử dụng công nghệ Web Service và AJAX

89 657 0
Xây dựng ứng dụng RSS Reader sử dụng công nghệ Web Service và AJAX

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Xây dựng ứng dụng RSS Reader sử dụng công nghệ Web Service và AJAX Sự ra đời của Internet không những là bước ngoặt lớn trong công nghệ thông tin mà còn ảnh hưởng mạnh mẽ, làm thay đổi cách tư duy và mở ra những cách tiếp cận và phương pháp giải quyết vấn đề hoàn toàn mới mẻ và có hiệu quả cao trong mọi lĩnh vực đời sống xã hội.

Báo cáo tốt nghiệp RSS Reader với Webservice AJAX LỜI NĨI ĐẦU Sự đời Internet khơng bước ngoặt lớn công nghệ thông tin mà ảnh hưởng mạnh mẽ, làm thay đổi cách tư mở cách tiếp cận phương pháp giải vấn đề hoàn toàn mẻ có hiệu cao lĩnh vực đời sống xã hội Mạng Internet sử dụng rộng rãi công cụ hữu hiệu để khai thác trao đổi thông tin dịch vụ tiện ích khác khơng ngừng phát triển mạnh mẽ đa dạng Có thể nói Internet nguồn khai thác thông tin tiện lợi, vô phong phú ngày trở nên hiệu với phần mềm hỗ trợ liên tục đời nâng cấp Trong thời gian thực tập công ty Netnam – Viện công nghệ thông tin, nhóm sinh viên chúng em dẫn định hướng theo hướng nghiên cứu phát triển ứng dụng Web sử dụng công nghệ SOA, WebService AJAX Chúng em mạnh dạn nhận đề tài “Xây dựng ứng dụng RSS Reader sử dụng công nghệ Web Service AJAX” làm đồ án tốt nghiệp Do hạn chế thời gian kiến thức kinh nghiệm nên đồ án không tránh khỏi thiếu sót Chúng em mong nhận ý kiến góp ý q báu từ thầy Chúng em xin chân thành cảm ơn cô giáo hướng dẫn, PGS.TS Nguyễn Việt Hương nhiệt tình hướng dẫn, bảo, giúp đỡ chúng em thời gian thực đồ án thực tập tốt nghiệp Chúng em xin chân thành cảm ơn anh Lê Anh Tuấn, Nguyễn Kiên Trung, Nguyễn Mạnh Toàn anh phịng Nghiên cứu phát triển Cơng ty Netnam hướng dẫn cụ thể, tận tình bước trang bị cho chúng em kiến thức cần thiết cơng nghệ làm sở cho q trình thực đồ án Nhóm sinh viên Nguyễn Mạnh Hùng – Nguyễn Việt Hưng Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Trang Báo cáo tốt nghiệp RSS Reader với Webservice AJAX Tóm tắt đồ án Mục đích đồ án tốt nghiệp nhóm sinh viên chúng em nghiên cứu Web Service AJAX công nghệ phát triển ứng dụng Web Sau nắm sở lý thuyết nghiên cứu cách vận dụng công nghệ vào thực tế, chúng em thực xây dựng ứng dụng có ý nghĩa thực tiễn tảng công nghệ với mục đích chứng minh khả áp dụng vào thực tế tính ưu việt công nghệ so với công nghệ truyền thống Ứng dụng chúng em xây dựng RSS Reader – công cụ dùng để chia sẻ thông tin internet ngày sử dụng rộng rãi Những người cần cập nhật thông tin từ nhiều trang Web khác nhau, sử dụng RSS Reader thay hàng ngày phải truy cập vào nhiều trang Web để lấy tin, cần tạo danh mục nguồn tin, RSS tự động cập nhật trang chủ ứng dụng Người sử dụng tiện lợi cần truy cập vào trang trang Web ứng dụng RSS để xem tin tức từ nhiều trang Web khác Kiến trúc ứng dụng gồm phần, phần xử lý chức RSS Reader gói Web Service nằm Web Service Server Phần thứ phía Web Service Client thực nhận yêu cầu từ người sử dụng, gửi lên nhận thông tin trả từ Web Service Server, sau dùng AJAX để hiển thị lên giao diện Hướng phát triển đồ án tương lai tiếp tục triển khai ứng dụng trở thành portal để tích hợp vào Website, sử dụng ứng dụng chức Website Các nội dung trình bày cụ thể đồ án Abstract The purpose of this project is to research Web Service and AJAX, the newest technologies in developing the Web application nowadays The theory foundation has paved the way for us to investigate and apply the new technology to pratical, fully exploiting the advantages of the new modern technology compared with the traditional one Our application built in this project is RSS Reader – a tool used to share information over internet, which is becoming more and more popular With RSS Reader, it’s now unecessary to get access to many Web sites per day updating information, all you need is creating a category of information sources, and RSS will automatically update to the home page of your application Users will find it as now they have to get access to only one site to get information from many others The application architecture includes two parts: The functions processing of RSS Reader, is wrapped in a Web Service at Web Service Server The Web Service Client, receives requests from users, sends and receives response from Web Service Server, then uses AJAX to display In future we want to continue developing our application to become a portal that can intergrate to Web Sites, using as a function of that Web site All content will be presented in the project Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Trang Báo cáo tốt nghiệp RSS Reader với Webservice AJAX MỤC LỤC Xây dựng ứng dụng RSS Reader sử dụng công nghệ Web Service AJAX LỜI NÓI ĐẦU .1 MỤC LỤC DANH MỤC HÌNH VẼ DANH SÁCH CÁC TỪ VIẾT TẮT TÓM TẮT NỘI DUNG CÁC CHƯƠNG CHƯƠNG 1: GIỚI THIỆU CHUNG 1.1 GIỚI THIỆU ĐỀ TÀI 1.1.1 Bùng nổ web site - enews 1.1.2 Chia sẻ thông tin RSS .10 1.1.3 SOA (kiến trúc phần mềm hướng dịch vụ) 11 1.1.4 Xu hướng công nghệ Web Service Asynchronous .12 1.1.5 AJAX 13 1.2 PHẠM VI ĐỀ TÀI 13 CHƯƠNG 2: CÁC CÔNG NGHỆ NỀN TẢNG 14 2.1 RSS 14 2.1.1 Tổng quan 14 2.1.2 Chức ứng dụng 14 2.1.3 Lịch sử 15 2.1.4 Cách sử dụng 16 2.1.5 Mô tả chi tiết .16 2.2 WEB SERVICE .18 2.2.1 Tổng quan 18 2.2.3 Ứng dụng Web service 21 2.2.4 Hoạt động Web Service .22 2.2 XML .24 2.2.1 Tổng quan 24 2.2.2 Cấu trúc tài liệu XML 25 2.2.3 Một vài ví dụ XML: 26 2.2.4 XSLT 27 2.3 SOAP 31 2.3.1 Tổng quan 31 2.3.2 Cấu trúc SOAP 32 2.3.3 SOAP over HTTP .35 2.4 WSDL .37 2.5 UDDI 40 2.5.1 UDDI 40 2.5.2 Đăng ký Web service với UDDI 40 2.5.3 Tìm kiếm web service UDDI nào? 41 Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Trang Báo cáo tốt nghiệp RSS Reader với Webservice AJAX 2.6 AJAX 42 2.6.1 Tổng quan 42 2.6.2 AJAX gì? 42 2.6.3 AJAX hoạt động nào? 43 2.6.4 Bốn định nghĩa AJAX .45 2.6.6 Các ứng dụng AJAX phổ biến 48 2.7 CÀI ĐẶT APACHE TOMCAT, AXIS2 SERVER 49 2.7.1 Apache Tomcat 49 2.7.2 Apache Axis2 50 CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG 52 3.1 TỔNG QUAN 52 3.1.1 Giới thiệu chung 52 3.1.2 Yêu cầu đặt cho ứng dụng 53 3.1.3 Mơ hình ứng dụng 53 3.1.4 Kiến trúc ứng dụng 55 3.2 SƠ ĐỒ PHÂN CẤP CHỨC NĂNG 56 Sơ đồ phân cấp chức liệt kê đầy đủ chức hệ thống .56 3.3 SƠ ĐỒ MỨC NGỮ CẢNH 57 3.4 SƠ ĐỒ MỨC DƯỚI ĐỈNH 58 CHƯƠNG 4: THIẾT KẾ HỆ THỐNG .64 4.1 THIẾT KẾ GÓI CHỨC NĂNG .64 4.1.1 Thư viện RSS lib 64 4.1.2 Thiết kế package phía web sericvce 64 4.1.3 Thiết kế package phía servlet 65 4.1 THIẾT KẾ GIAO DIỆN NGƯỜI SỬ DỤNG .66 4.2 THIẾT KẾ ĐỊNH DẠNG DỮ LIỆU INPUT/OUTPUT .69 4.3 THIẾT KẾ CƠ SỞ DỮ LIỆU 76 4.3 THIẾT KẾ PHẦN MỀM .78 CHƯƠNG 5: ĐÁNH GIÁ KẾT QUẢ VÀ GIỚI THIỆU SẢN PHẨM 84 5.1 GIỚI THIỆU PHẦN MỀM VÀ HƯỚNG DẪN SỬ DỤNG 84 5.2 ĐÁNH GIÁ KẾT QUẢ 87 5.3 HƯỚNG PHÁT TRIỂN 88 KẾT LUẬN .89 Tài liệu tham khảo .90 Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Trang Báo cáo tốt nghiệp RSS Reader với Webservice AJAX DANH MỤC HÌNH VẼ Hình 2.1 Lịch sử phát triển RSS 15 Hình 2.2 Bảng so sánh RSS2.0 Atom 1.0 18 Hình 2.3 Mơ hình kiến trúc dịch vụ 19 Hình 2.4 Mơ hình quan hệ Web Service 20 Hình 2.5 Các đặc điểm Web service 21 Hình 2.6 Mơ hình hoạt động Web service 22 Hình 2.7 Sự tương tác Client Web service 23 Hình 2.8 Cấu trúc SOAP Message 32 Hình 2.9 Cấu trúc SOAP Request SOAP Response kiểu web service .34 Hình 2.10 Mơ hình hoạt động SOAP 37 Hình 2.11 Mơ hình hoạt động WSDL .38 Hình 2.12 Cấu trúc hoạt động WSDL .39 Hình 2.13 Vai trị UDDI 40 Hình 2.14 Cách đăng ký với UDDI 41 Hình 2.15 Giao diện tìm web service UDDI .41 Hình 2.16 Kết tìm web service 42 Hình 2.17 Ứng dụng web truyền thống (trái) ứng dụng AJAX 43 Hình 2.18 Tương tác đồng ứng dụng web truyền thống (trên) dị ứng dụng AJAX 44 Hình 2.19 Vịng đời ứng dụng web truyền thống Tất trạng thái user với ứng dụng lưu giữ server User ln nhìn thấy trang hồn chỉnh, không thấy thay đổi không lấy toàn từ server .45 Hình 2.20 Vịng đời ứng dụng Ajax Khi user vào hệ thống, giao diện hoàn chỉnh tải phía trình duyệt Ứng dụng phản ứng lại tương tác user lập tức, “ngấm ngầm” request tới server phía sau, khơng làm gián đoạn tới trình tương tác user .46 Hình 2.21 Từ xuống việc “đẩy” nội dung từ server: (A) ứng dụng web cổ điển, (B) ứng dụng Ajax Nếu ứng dụng tiếp tục, lưu lượng bị dồn lên cao(C) 47 Hình 2.22 Minh họa cách tổ chức thư mục Apache Tomcat 50 Hình 2.23 Minh họa cách tổ chức thư mục apache web service .51 Hình 3.1 Các ứng dụng Rss Reader thơng thường 52 Hình 3.2 Ứng dụng RSS Reader with Web service 53 Hình 3.3 Mơ hình luồng thông tin ứng dụng 54 Hình 3.4 Mơ hình kiến trúc ứng dụng 55 Hình 3.5 Sơ đồ phân cấp chức (Function Diagram) .56 Hình 3.6 Sơ đồ luồng liệu mức ngữ cảnh 57 (Context Diagram) .57 Hình 3.7 Sơ đồ luồng liệu mức 58 (DFD level 0) .58 Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Trang Báo cáo tốt nghiệp RSS Reader với Webservice AJAX Hình 3.8 DFD Function 59 Hình 3.9 DFD (Function 2) .60 Hình 4.1 Giao diện ứng dụng 66 Bên trái giao diện Category – Danh mục trang tin tức hình 4.2 66 66 Hình 4.2 Category RSS hiển thị dạng TreeView 66 Hình 4.3 Giao diện hiển thị Feed .67 Khi ta chọn chức add feed/add category menu, giao diện thêm feed thêm folder mở ra, người sử dụng nhập thông tin cần thiết để thực chức năng(hình 4.4, hình 4.5) 68 Hình 4.4 Giao diện thực thêm feed 68 68 Hình 4.5 Giao diện thực thêm folder 68 Hình 4.6 Bảng tbl_Category .76 Hình 4.7 Bảng tbl_Feed 76 Hình 4.8 Sơ đồ thực thể liên kết (ERD) 77 Hình 4.9 Lưu đồ thuật toán phần Web Service Client .79 Hình 4.10 Lưu đồ thuật tốn phần Web Service Server 80 Hình 5.1 Giao diện chương trình 84 84 Hình 5.2 Category RSS hiển thị dạng TreeView 84 Hình 5.3 Giao diện hiển thị Feed .85 Hình 5.4 Giao diện xác nhật xóa Feed 85 Hình 5.5 Giao diện xác nhật xóa Folder .86 Hình 5.6 Giao diện thêm Feed .86 Hình 5.7 Giao diện thêm Folder 87 Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Trang Báo cáo tốt nghiệp RSS Reader với Webservice AJAX DANH SÁCH CÁC TỪ VIẾT TẮT STT Từ viết tắt SOA Tên đầy đủ Service Oriented Architecture Asynchronous JavaScript + XML Really Simple Syndication AJAX RSS XML XSLT SOAP Simple Object Access Protocol WSDL Web Services Description Language UDDI Universal Description, Discovery and Integration Extensible Markup Language Extensible Stylesheet Language Transform Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Giải thích Kiến trúc phần mềm hướng dịch vụ Cơng nghệ sử dụng lập trình phía Client Ứng dụng dùng làm công cụ chia sẻ thông tin internet Ngôn ngữ định dạng mở rộng Ngôn ngữ viết theo cú pháp XML cho phép chuyển dịch tài liệu XML sang khuôn dạng khác giao thức để truyền thông tin WebServer Client công nghệ WebService giao thức để truyền thông tin WebServer Client công nghệ WebService giao thức để truyền thông tin WebServer Client công nghệ WebService Trang Báo cáo tốt nghiệp RSS Reader với Webservice AJAX TÓM TẮT NỘI DUNG CÁC CHƯƠNG Chương 1: Giới thiệu chung – Giới thiệu tổng quan đồ án tốt nghiệp: khái niệm ứng dụng RSS Reader, công nghệ sử dụng để xây dựng ứng dụng, phạm vi đề tài Chương 2: Các công nghệ tảng - Giới thiệu chi tiết sở lý thuyết, công nghệ, công cụ để xây dựng đồ án Chương 3: Phân tích hệ thống – Phân tích chi tiết cơng việc để xây dựng ứng dụng, đưa sơ đồ phân cấp chức năng, sơ đồ luồng liệu mô tả chức hệ thống Chương 4: Thiết kế hệ thống - Thực thiết kế giao diện tương tác với người sử dụng, thiết kế sở liệu, liệu đầu vào đầu ra, thiết kế phần mềm Chương 5: Đánh giá kết giới thiệu sản phẩm – Đánh giá kết đạt đồ án, đánh giá hướng phát triển Giới thiệu hướng dẫn sử dụng phần mềm Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Trang Báo cáo tốt nghiệp RSS Reader với Webservice AJAX CHƯƠNG 1: GIỚI THIỆU CHUNG 1.1 GIỚI THIỆU ĐỀ TÀI 1.1.1 Bùng nổ web site - enews Chỉ với động tác click chuột để biết tất tin tức buổi sáng thay mở radio, xem truyền hình mua tờ báo Thói quen bắt đầu hình thành Việt Nam, trước hết giới trẻ thành phố lớn Và thói quen bắt đầu cho phát triển mạnh mẽ loại hình báo chí mới: Báo điện tử Chỉ sau vài năm xuất hiện, báo điện tử khẳng định mạnh phủ nhận Với ưu trợ giúp cơng nghệ thông tin, báo điện tử cho phép chuyển tải thông tin tới người đọc gần tức thời chữ viết, tin tức hình ảnh Đây lợi ích hẳn so với loại hình báo chí khác, báo giấy phải chờ đợi việc in ấn theo định kỳ xuất Ngoài ưu chuyển tải thơng tin cách nhanh tới nơi giới, lợi hẳn báo điện tử khơng phí thời gian cho công việc in ấn-vấn đề nan giải thường gặp phải tờ báo giấy Cùng với phát triển Internet máy tính, báo điện tử nói riêng thơng tin từ internet nói chung ngày trở nên phổ biến ngày phát huy mạnh mẽ ưu điểm so với cách tìm kiếm thơng tin bình thường khác tiết kiệm thời gian, công sức, rẻ thông tin cập nhật liên tục Khi ta muốn tìm kiếm thơng tin vấn đề bất kỳ, thay phải lục tìm thư viện thơng tin tri thức, hay phải tới rạp chiếu phim gọi điện để hỏi lịch đơn giản thông tin phim chiếu, ta cần ngồi trước hình máy tính nối mạng internet sử dụng Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Trang Báo cáo tốt nghiệp RSS Reader với Webservice AJAX cơng cụ tìm kiếm google dễ dàng nhận tin tức cần tìm từ nhiều nguồn tin cập nhật liên tục Những mạnh giải thích việc chia sẻ thông tin qua internet ngày phổ biến toàn giới, đồng thời ứng dụng, công cụ hỗ trợ cho việc sử dụng khai thác nguồn thông tin internet liên tục phát triển 1.1.2 Chia sẻ thông tin RSS Các cơng nghệ phát triển web chia thành giai đoạn, giai đoạn web 1.0 web 2.0 Mục tiêu người tiên phong xây dựng Internet nhằm kết nối nhà nghiên cứu máy tính họ với để chia sẻ thơng tin hiệu Khi bổ sung World Wide Web (năm 1990), Tim Berners-Lee nhằm mục tiêu tạo phương tiện cho phép người dùng tự đưa thông tin lên Internet dễ dàng chia sẻ với người (trình duyệt web Berners-Lee viết bao gồm công cụ soạn thảo trang web) Tuy nhiên, sau web phát triển theo hướng khác mục tiêu ban đầu Tuy có số ngoại lệ giới Web 1.0 (thế hệ web trước Web 2.0) chủ yếu gồm website "đóng" hãng thơng hay cơng ty nhằm mục đích tiếp cận độc giả hay khách hàng hiệu Nó phương tiện phát tin phương tiện chia sẻ thông tin Chỉ đến gần đây, với xuất nhiều kỹ thuật blog (hay weblog), wiki web trở nên có tính cộng đồng (và cộng tác) trở nên gần với kỳ vọng khả thực nó.Web 2.0 đời với mục đích cho phép người dùng khơng cịn “nhận” thơng tin theo dạng chiều nữa, mà cịn đóng góp, xây dựng thêm cho ứng dụng Khơng ngoại lệ, cịn giúp tổ chức chia sẻ thơng tin, gắn bó với chặt chẽ trước Ở đây, xem xét khía cạnh với ví dụ dạng thông tin chia sẻ RSS RSS giúp doanh nghiệp, cá nhân nắm bắt chia sẻ dễ dàng thông tin với nhau, cập nhật tự động Bạn tưởng tượng tờ báo với tất thông tin mà bạn quan tâm, dịng quảng cáo, khơng có mục mà bạn khơng thích Với dạng thơng tin RSS bạn có quyền lựa chọn chúng RSS (Really Simple Syndication) cách thức để chia sẻ thông tin qua tiêu đề, nội dung trang Web, dạng phân phối thông tin cập nhật trang Web Để giải thích rõ hơn, ta lấy ví dụ trang tin tức BBC Để xem tin tức từ trang này, người dùng online phải truy cập vào trang chủ kiểm tra danh sách tin tức xem có tin hay khơng Nếu sử dụng RSS, q trình kiểm tra thơng báo hiển thị nội dung tin tức cập nhật lên trang BBC thực liên tục tự động Khi tin đưa lên, giao diện RSS phía người sử dụng hiển thị tiêu đề nội dung tin tức mới, người sử dụng click vào tiêu đề để chuyển đến trang BBC để xem đủ tin tức Q trình hiển thị tin giao diện RSS phía khách thực hồn tồn thời gian thực, tức người Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Trang 10 Báo cáo tốt nghiệp RSS Reader với Webservice AJAX Open in a new window - - Email The Author Description: Định dạng XML chứa thông tin Category giao diện nhận trước dùng javascript hiển thị dạng Tree: Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Trang 75 Báo cáo tốt nghiệp RSS Reader với Webservice AJAX 4.3 THIẾT KẾ CƠ SỞ DỮ LIỆU Dữ liệu hệ thống chủ yếu thông tin lấy trang web, sở liệu (CSDL) đóng vai trị lư u giữ nguồn cung cấp thơng tin Cơ sở sữ liệu dùng ứng dụng hệ quản trị sở liệu : MS SQLServer2000 Các bảng liệu thiết kế sau: Bảng tbl_Category Bảng chứa thông tin category – để phân loại nhóm thơng tin Những thơng tin người dung cung cấp, họ muốn lưu vào CSDL Ví dụ: CNN, BBC : Tên nguồn thông tin Sport, News, … : Tên loại tin Các trường thể hình 4.6 Hình 4.6 Bảng tbl_Category Bảng tbl_Feed Bảng chứa thông tin kênh thông tin: địa trang cung cấp thông tin RSS: http://bbc.co.uk/sport.aspx? http://news.google.com?output=rss Những thông tin kênh thông tin người sử dụng cung cấp, họ muốn lưu trữ Các trường thể hình 4.7 Hình 4.7 Bảng tbl_Feed Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Trang 76 Báo cáo tốt nghiệp RSS Reader với Webservice AJAX Sơ đồ thực thể quan hệ (Relation Ships) Hình 4.8 thể mối quan hệ nhiều thực thể Category thực thể Feed Mỗi Category chứa nhiều Feed Hình 4.8 Sơ đồ thực thể liên kết (ERD) Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Trang 77 Báo cáo tốt nghiệp RSS Reader với Webservice AJAX 4.3 THIẾT KẾ PHẦN MỀM Trong phần chúng em đưa lưu đồ thuật toán Web Service Client (hình 4.9) Web Service Server (hình 4.10) đồng thời đưa số đoạn mã nguồn quan trọng hệ thống Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Trang 78 Báo cáo tốt nghiệp RSS Reader với Webservice AJAX Begin Nhận yêu, phân loại yêu cầu Đúng Yêu cầu = GetCategory? Sai Yêu cầu = del/add feed del/add category? Sai Đúng Gửi SOAP Request tới WebService nhận SOAP Response Gửi SOAP Request tới WebService nhận SOAP Response Gửi SOAP Request tới WebService nhận SOAP Response Lọc nội dung SOAP Lọc nội dung SOAP Lọc nội dung SOAP Chuyển sang dạng XML “tree” Chuyển đổi sang HTML Thực thành công? Sai Đúng Dùng javascript hiển thị dạng tree Hiển thị thông tin lên giao diện Thông báo thực thành cơng Thơng báo lỗi End Hình 4.9 Lưu đồ thuật toán phần Web Service Client Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Trang 79 Báo cáo tốt nghiệp RSS Reader với Webservice AJAX Begin Thu thông tin đầu vào Đúng Sai action=A dd Cate/Feed s? Đúng Is Category? Phân loại action (C/U/I/D) Sai Thực thi lưu trữ vào CSDL Lấy list nguồn Lấy liệu theo nguồn đầu vào Sắp xếp theo ngày tháng Định dạng xếp lại Sai Trả kết Đúng Trả liệu End Hình 4.10 Lưu đồ thuật tốn phần Web Service Server Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Trang 80 Báo cáo tốt nghiệp RSS Reader với Webservice AJAX Một số đoạn mã nguồn ứng dụng: Mã nguồn javaScript hiển thị feed AJAX Web Service Client: function getFeed(id) { document.getElementById("Container").innerHTML "Loading "; var req; var which; retrieveURL("http://localhost:8080/RSSreader/rssServlet?2@@@"+ourCurrentId); window.setTimeout("getFeed(ourCurrentId)",1000000); } function getFeedsByCategory(id) { document.getElementById("Container").innerHTML "Loading "; var req; var which; retrieveURL("http://localhost:8080/RSSreader/rssServlet?7@@@"+ourCurrentId); window.setTimeout("getFeedsByCategory(ourCurrentId)",1000000); } function getFeedsByDate() { document.getElementById("Container").innerHTML "Loading "; var req; var which; typeOfGetFeed="date"; retrieveURL("http://localhost:8080/RSSreader/rssServlet?8"); window.setTimeout("getFeedsByDate()",1000000); } = = = function retrieveURL(url) { if (window.XMLHttpRequest) { // Non-IE browsers req = new XMLHttpRequest(); req.onreadystatechange = processStateChange; try { req.open("GET", url, true); } catch (e) { alert(e); } req.send(null); } else if (window.ActiveXObject) { // IE req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.onreadystatechange = processStateChange; req.open("GET", url, true); req.send(); } } Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Trang 81 Báo cáo tốt nghiệp RSS Reader với Webservice AJAX } function processStateChange() { if (req.readyState == 4) { // Complete if (req.status == 200) { // OK response var str = req.responseText; if(window.ActiveXObject){//IE var xsltDom = new ActiveXObject("Microsoft.XMLDOM"); var xmlDom = new ActiveXObject("Microsoft.XMLDOM"); xsltDom.async = false; if(typeOfGetFeed=="feed") xsltDom.load("http://localhost:8080/RSSreader/Rss.xsl"); if(typeOfGetFeed=="category") xsltDom.load("http://localhost:8080/RSSreader/feedsByCategories.xsl"); if(typeOfGetFeed=="date") xsltDom.load("http://localhost:8080/RSSreader/Rss.xsl"); xmlDom = req.responseXML; document.getElementById("Container").innerHTML xmlDom.transformNode(xsltDom); } else//Non IE { var xslHttp = new XMLHttpRequest(); if(typeOfGetFeed=="feed") xslHttp.open("GET", = "http://localhost:8080/RSSreader/Rss.xsl", false); if((typeOfGetFeed=="category")||(typeOfGetFeed=="date")) xslHttp.open("GET", "http://localhost:8080/RSSreader/feedsByCategories.xsl", false); xslHttp.send(null); var xslDoc=xslHttp.responseXML; var xmlDoc=req.responseXML; // create an instance of XSLTProcessor var processor = new XSLTProcessor(); // configure the processor to use our stylesheet processor.importStylesheet(xslDoc); var fragment = processor.transformToFragment(xmlDoc,document); document.getElementById("Container").innerHTML = ""; document.getElementById("Container").appendChild(fragment); var display = document.getElementById("Container").innerHTML; document.getElementById("Container").innerHTML=display; } } else { alert("Problem: " + req.statusText); Nguyễn Mạnh Hùng, Nguyễn Việt Hưng - ĐT 12, K46 Trang 82 Báo cáo tốt nghiệp RSS Reader với Webservice AJAX } } } Mã nguồn thực getCategory Web Service Server: public String getCategory(){ Vector vt=new Vector(); String ret=""; ret += "\r\n"; ret += "\r\n\t"; CategoryDAO catDAO=new CategoryDAO(); try{ vt=(Vector)catDAO.getbyParent(0); for(int i=0;i

Ngày đăng: 03/08/2014, 00:06

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan