Khởi đầu các ứng dụng Java phần 2: Phát triển Ajax gọn nhẹ, dễ dàng

Tổ hợp của Eclipse, DB2® Express-C 9.5, và WebSphere® Application Server Community Edition 2.0 —tất cả đều miễn phí để tải về, sử dụng và triển khai —là một bộ sản phẩm từ bản mẫu đến sản xuất tuyệt vời cho mọi nhu cầu phát triển Java™ và Java doanh nghiệp của bạn. Một điều có thể chưa hiển nhiên lắm là bạn còn có thể sử dụng khá dễ dàng các công cụ đã qua kiểm chứng này để tạo ra, thử nghiệm, và triển khai các ứng dụng hàng đầu gọn nhẹ. Hướng dẫn này chỉ dẫn cho bạn đi qua các bước phát triển một ứng dụng quản lý nguồn nhân lực nhỏ, trước tiên bằng cách sử dụng công nghệ dựa trên JavaServer Pages (JSP) truyền thống và sau đó di chuyển nó đến một giải pháp tương tác cao là sử dụng Ajax.

pdf74 trang | Chia sẻ: haohao89 | Lượt xem: 1800 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Khởi đầu các ứng dụng Java phần 2: Phát triển Ajax gọn nhẹ, dễ dàng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Khởi đầu các ứng dụng Java của bạn, Phần 2: Phát triển Ajax gọn nhẹ, dễ dàng Xây dựng một ứng dụng web tương tác với bộ khởi đầu các ứng dụng Java của bạn Sing Li, Tư vấn, tác giả, Wrox Press Tóm tắt: Tổ hợp của Eclipse, DB2® Express-C 9.5, và WebSphere® Application Server Community Edition 2.0 — tất cả đều miễn phí để tải về, sử dụng và triển khai — là một bộ sản phẩm từ bản mẫu đến sản xuất tuyệt vời cho mọi nhu cầu phát triển Java™ và Java doanh nghiệp của bạn. Một điều có thể chưa hiển nhiên lắm là bạn còn có thể sử dụng khá dễ dàng các công cụ đã qua kiểm chứng này để tạo ra, thử nghiệm, và triển khai các ứng dụng hàng đầu gọn nhẹ. Hướng dẫn này chỉ dẫn cho bạn đi qua các bước phát triển một ứng dụng quản lý nguồn nhân lực nhỏ, trước tiên bằng cách sử dụng công nghệ dựa trên JavaServer Pages (JSP) truyền thống và sau đó di chuyển nó đến một giải pháp tương tác cao là sử dụng Ajax. Trước khi bạn bắt đầu Sự tích hợp chặt chẽ giữa các công cụ miễn phí tạo thành bộ khởi đầu các ứng dụng Java của bạn: Eclipse, DB2 Express-C 9.5, và WebSphere Application Server Community Edition 2.0 (gọi tắt là Máy chủ ứng dụng) đã đáp ứng tốt các nhu cầu của các nhà phát triển ứng dụng Java EE và các dịch vụ web. Đi đôi với hướng dẫn này là hướng dẫn, Khởi đầu các ứng dụng Java của bạn, Phần 1: Phần mềm miễn phí, phát triển nhanh chóng, trình bày về cách các công cụ này làm việc cùng nhau như thế nào để phát triển phần mềm Java EE. Ngày càng có nhiều nhà phát triển Java đang thử nghiệm các giao diện người dùng trên nền web tương tác cao, bao gồm các lựa chọn mà không đòi hỏi phải sử dụng một thùng chứa Java EE truyền thống. Những khám phá như vậy thường bắt bạn phải học thêm một ngôn ngữ lập trình chưa qua kiểm chứng, phải làm việc với công cụ có mức chất lượng beta, và đặt cược vào công nghệ triển khai chưa qua thử thách với thời gian. Thật bất ngờ cho bạn khi biết được rằng bộ công cụ mạnh, làm ra sản phẩm thực sự, do IBM hậu thuẫn miễn phí mà bạn đang dùng cho các nhiệm vụ phát triển Java EE cũng có thể là người bạn tốt nhất của bạn trong việc khám phá lĩnh vực phát triển giao diện người dùng thay thế. Tin tức tuyệt vời nhất là ở chỗ tất cả các mã chương trình của bạn — gọn nhẹ hay truyền thống — có thể tận dụng ưu thế của tập hợp đặc tính dễ sử dụng, phong phú của Eclipse, sự hoàn thiện và mạnh mẽ của DB2 Express-C, và hỗ trợ triển khai cấp thế giới của Máy chủ ứng dụng. Hướng dẫn này cho bạn thấy làm thế nào để di chuyển một ứng dụng từ một thiết kế truyền thống tới một thiết kế dựa trên công nghệ JavaScript không đồng bộ (Asynchronous JavaScript) và XML (Ajax) — tất cả nằm trong môi trường thân thiện và quen thuộc của bộ khởi đầu ứng dụng Java của bạn. Bộ tập hợp phần mềm khởi đầu Để khởi đầu các ứng dụng Java của bạn, IBM đã gộp một tổ hợp mạnh các thành phần phần mềm có sẵn miễn phí với nhau để truy cập dữ liệu, phát triển và triển khai ứng dụng:  Máy chủ cơ sở dữ liệu DB2 Express-C 9.5  Máy chủ ứng dụng WebSphere phiên bản cộng đồng 2.0  Môi trường phát triển tích hợp Eclipse (Eclipse IDE) Bạn không bị buộc phải sử dụng những gói này trong tổ hợp như trên; mỗi gói đều làm việc được với nhiều thành phần dựa trên các chuẩn mở khác nhau. Bạn có thể sử dụng Eclipse với các máy chủ ứng dụng khác (kể cả không phải Java) và các cơ sở dữ liệu khác. Máy chủ ứng dụng không đòi hỏi DB2 Express-C 9.5 hay Eclipse. Và DB2 Express-C 9.5 có thể phù hợp với các môi trường phát triển và triển khai khác với Eclipse và Máy chủ ứng dụng. Nhưng, rồi bạn sẽ hiểu đầy đủ từ hướng dẫn này, khi sử dụng bộ tích hợp chặt chẽ như một tổng thể nói trên, bạn sẽ có rất nhiều thuận lợi. Thông tin về hướng dẫn này Bạn sẽ bắt đầu hướng dẫn này bằng cách tạo ra một bảng thông tin nhân viên, sử dụng công nghệ JSP và servlet tiêu chuẩn. Bạn sẽ làm tất cả các công việc phát triển và thử nghiệm bằng cách sử dụng bộ khởi đầu các ứng dụng Java. Bạn sẽ thiết kế các ứng dụng trong Eclipse và sau đó triển khai và thử nghiệm nó trên Máy chủ ứng dụng. Các ứng dụng sẽ tìm về và hiển thị thông tin nhân viên, bao gồm cả hình ảnh, từ một cơ sở dữ liệu DB2 Express-C 9.5 theo chế độ tương tác. Sau đó, hướng dẫn này thảo luận về một số hạn chế trong thiết kế ứng dụng JSP và chỉ ra cách làm thế nào để một giải pháp dựa trên Ajax nhẹ có thể giúp để vượt qua các hạn chế này. Hướng dẫn này cũng giới thiệu các khái niệm Ajax cơ bản và một bộ dụng cụ Java phổ biến có tên là Web trực tiếp từ xa (Direct Web Remoting - DWR) (xem Tài nguyên). Bạn sẽ chuyển đổi ứng dụng sang một thiết kế nhẹ. Các ứng dụng được thiết kế lại nằm trong một trang HTML, lưu trú trên Máy chủ ứng dụng hoạt động như một máy chủ Web đơn giản, truy cập trực tiếp thông tin cơ sở dữ liệu DB2 Express C sử dụng Ajax và tuần tự hóa ký pháp đối tượng JavaScript (JavaScript Object Notation - JSON). Hướng dẫn này dẫn dắt bạn qua:  Việc phát triển một bảng thông tin - nhân viên, sử dụng các công nghệ JSP và servlet truyền thống  Xử lý hiển thị các hình ảnh GIF từ các trường đối tượng lớn nhị phân (BLOB) của DB2 bằng một servlet tùy biến  Được giới thiệu về Ajax và Web trực tiếp từ xa (Direct Web Remoting)  Chuyển bảng thông tin -nhân viên sang một thiết kế Ajax nhẹ  Viết mã hỗ trợ phía Java cho ứng dụng mới  Viết mã JavaScript, sử dụng thư viện các tiện ích DWR  Thử nghiệm bảng thông tin - nhân viên tương tác mới Kết thúc hướng dẫn này, bạn sẽ đánh giá được một số khác biệt cơ bản giữa việc thiết kế ứng dụng Java EE truyền thống và cách tiếp cận dựa trên Ajax tương tác cao. Bạn cũng sẽ trở nên thoải mái khi sử dụng bộ Khởi đầu các ứng dụng Java để khám phá các khung công tác phát triển trên nền Java hiện tại và tương lai. Các điều kiện cần có trước Bạn cần phải quen thuộc với việc phát triển Java nói chung và phát triển Java phía máy chủ nói riêng. Hướng dẫn này giả định bạn biết rõ các khái niệm triển khai Java EE cơ bản, ví dụ như các mô tả triển khai và tệp lưu trữ WAR. Bạn cũng cần phải quen thuộc với việc lập trình JSP và sử dụng các thư viện thẻ, như Thư viện thẻ tiêu chuẩn của các trang JavaServer (JavaServer Pages Standard Tag Library - JSTL). Hướng dẫn này giả định rằng bạn hiểu các hoạt động chung của một cơ sở dữ liệu quan hệ và đã lập trình các ứng dụng JDBC. Nó cũng giả định rằng bạn đã hoàn thành việc tìm hiểu hướng dẫn Khởi đầu các ứng dụng Java của bạn: Phần mềm miễn phí, phát triển nhanh chóng. Các yêu cầu hệ thống Để làm theo và thử nghiệm các đoạn mã cho hướng dẫn này, bạn cần các bản cài đặt phần mềm đang hoạt động:  Bản cập nhật 15 Java SE JDK 5 của Sun hoặc bản IBM SDK cho Java phiên bản 5 SR6 hoặc mới hơn.  Bộ khởi đầu các ứng dụng Java của bạn: o DB2 Express-C 9.5 o Máy chủ ứng dụng phiên bản 2.0.0.1 o Eclipse 3.3 và bộ chuyển đổi máy chủ cho WTP cho Máy chủ ứng dụng V.2.0 Để có một cấu hình đúng, bạn cần làm theo các chỉ dẫn tải về và cài đặt chi tiết cho các thành phần này trong các phần có liên quan trong Khởi đầu các ứng dụng Java của bạn: Phần mềm miễn phí, phát triển nhanh chóng.  Ứng dụng danh sách-nhân viên do bạn đã xây dựng trong phần Khởi đầu các ứng dụng Java của bạn: Phần mềm miễn phí, phát triển nhanh chóng.  Cơ sở dữ liệu Sample DB2 Express-C 9.5.  DWR. Các chỉ dẫn chi tiết để thử nghiệm với DWR có trong hướng dẫn này. Cấu hình phần cứng hệ thống được đề nghị để thử nghiệm hướng dẫn này là:  Một hệ thống hỗ trợ JDK / JRE được liệt kê ở trên có ít nhất 1 GB bộ nhớ chính (nên có 2GB).  Thêm ít nhất 10MB dung lượng đĩa còn trống để cài đặt các thành phần phần mềm và các ví dụ. Các chỉ dẫn trong hướng dẫn này dựa trên hệ điều hành Windows®. Tất cả các công cụ và kỹ thuật bao gồm trong hướng dẫn này cũng làm việc trên các hệ thống Linux® và Unix®. Tổng quan Hướng dẫn này xây dựng trên nền tảng khái niệm và cấu hình hệ thống của bài Khởi đầu các ứng dụng Java của bạn: Phần mềm miễn phí, phát triển nhanh chóng. Bạn sẽ sử dụng Eclipse để tạo ra hai phiên bản của một ứng dụng quản lý nguồn nhân sự để truy cập tương tác thông tin nhân viên được lưu trữ trong một cá thể DB2 Express-C 9.5 và bạn sẽ sử dụng Máy chủ ứng dụng để triển khai các ứng dụng. Trong bài Khởi đầu các ứng dụng Java của bạn: Phần mềm miễn phí, phát triển nhanh chóng, bạn đã:  Tải về và cài đặt DB2 Express-C 9.5, Máy chủ ứng dụng, Eclipse, và bộ chuyển đổi máy chủ WTP cho Máy chủ ứng dụng.  Cài đặt một cơ sở dữ liệu mẫu, do bản cài đặt DB2 Express-C 9.5 cung cấp, có chứa thông tin nhân viên.  Triển khai một pool cơ sở dữ liệu do máy chủ quản lý trong Máy chủ ứng dụng.  Cấu hình khung nhìn Data Source Explorer tích hợp trong Eclipse để truy cập vào các lược đồ và các nội dung bảng của cơ sở dữ liệu mẫu DB2.  Viết mã một ứng dụng JSP để truy cập cơ sở dữ liệu mẫu DB2 để liệt kê thông tin nhân viên, sử dụng hỗ trợ phát triển ứng dụng Web, Web Tools Platform (WTP) của Eclipse.  Triển khai ứng dụng JSP lên Máy chủ ứng dụng để thử nghiệm, sử dụng bộ chuyển đổi máy chủ cho nền các công cụ Web (Web Tools Platform – WTP) cho Máy chủ ứng dụng.  Thử nghiệm ứng dụng JSP bằng cách triển khai nó trong một cài đặt hiện có của Máy chủ ứng dụng. Bắt đầu với ứng dụng đơn giản do bạn đã tạo ra trong bài Khởi đầu các ứng dụng Java của bạn: Phần mềm miễn phí, phát triển nhanh chóng, hướng dẫn này bổ sung thêm một trang JSP mới để cho phép bạn truy vấn tương tác thông tin nhân viên từ cơ sở dữ liệu DB2. Không giống như ứng dụng gốc ban đầu, trong đó liệt kê thông tin về tất cả các nhân viên trong một bảng, ứng dụng JSP này hiển thị một bản ghi thông tin nhân viên mỗi lần. Các thông tin được hiển thị bao gồm ảnh của nhân viên, như thấy trong Hình 1: Hình 1. Ứng dụng hiển thị thông tin nhân viên tương tác Để hiển thị một ảnh, một servlet chuyên dụng truy vấn cơ sở dữ liệu DB2 tìm các dữ liệu hình ảnh nhị phân được lưu trữ trong các trường BLOB và sau đó chuyển bức ảnh tới trình duyệt như là một hình ảnh. Các dụng cụ phát triển ứng dụng và thử nghiệm của nền các công cụ Web của Eclipse giúp bạn tạo ra servlet này nhanh chóng. Tính tương tác của thiết kế này bị hạn chế, và nó không thể đối phó với một cơ sở dữ liệu nhân viên lớn hơn, do đó, tôi sẽ giới thiệu một giải pháp tốt hơn để giải quyết các thiếu sót này nhờ áp dụng các kỹ thuật Ajax nhẹ hiện đại. Tạo ứng dụng thông tin nhân viên dựa trên JSP Bản đầu tiên của ứng dụng sẽ hiển thị một thông tin của nhân viên, bao gồm cả ảnh của họ nếu có, như thấy trong Hình 1. Người sử dụng chọn các thông tin nhân viên cần hiển thị, từ một danh sách thả xuống các tên nhân viên. Trong Hình 1, bản ghi nhân viên của Adamson Bruce được chọn và hiển thị. Cách dễ nhất để tạo ra ứng dụng này là sửa đổi dự án từ bài Khởi đầu các ứng dụng Java của bạn: Phần mềm miễn phí, phát triển nhanh chóng. Hình 2 cho thấy các dự án trong IDE Eclipse từ hướng dẫn này: Hình 2. Dự án dwapp gốc trong Eclipse hiển thị một bảng nhân viên Bắt đầu từ dự án dwapp được hiển thị trong Hình 2, bạn sẽ thêm vào hoặc sửa đổi các thành phần ứng dụng Web trong bảng 1: Bảng 1. Các thành phần của ứng dụng Web về thông tin nhân viên Thành phần Mô tả employee.jsp Một trang JSP không có kịch bản lệnh (không nhúng mã Java). Nó xử lý tương tác của người dùng và sử dụng các thẻ JSTL SQL để truy vấn các thông tin của cơ sở dữ liệu DB2. Bạn nên thêm thành phần này. ShowPhoto.java servlet Một Java servlet để truy vấn cơ sở dữ liệu DB2 tìm thông tin ảnh nhân viên. Các ảnh nhân viên được lưu trữ theo nhiều định dạng trong cơ sở dữ liệu, trong các trường BLOB. Ở đây chỉ có các định dạng ảnh GIF được sử dụng. Servlet này viết kết quả đầu ra của nó theo một định dạng luồng tương thích với kiểu MIME, đúng yêu cầu của phần tử hiển thị của trình duyệt . Việc truy cập cơ sở dữ liệu được thực hiện thông qua một nguồn dữ liệu hệ thống, nhận được qua giao diện thư mục và đặt tên của Java (Java Naming and Directory Interface - JNDI) và được hỗ trợ bởi pool cơ sở dữ liệu toàn hệ thống đã cấu hình trên Máy chủ ứng dụng trong bài Khởi đầu các ứng dụng Java của bạn: Phần mềm miễn phí, phát triển nhanh chóng. Bạn nên thêm thành phần này. dwstyles.css Bạn sẽ sửa đổi phiếu định kiểu (stylesheet) này để xử lý định dạng bổ sung cho trang employee.jsp mới. Làm thế nào để cho các thành phần ứng dụng phù hợp với nhau Hình 3 cho thấy cách các thành phần ứng dụng phù hợp với nhau như thế nào: Hình 3. Cấu trúc của ứng dụng thông tin - nhân viên Thành phần employee.jsp sinh ra trang web có chứa giao diện người dùng. Trang web đã tạo ra này được trình bày trên trình duyệt của người dùng. Người sử dụng tương tác với trang đã trình bày để truy vấn thông tin nhân viên bằng cách đệ trình một biểu mẫu (form) HTML. JSP xử lý dữ liệu biểu mẫu đã đệ trình và tìm thông tin nhân viên từ cơ sở dữ liệu. JSP sau đó tạo ra và trả về một trang web chứa các thông tin ấy. Ảnh nhân viên dưới định dạng GIF được tạo ra riêng biệt, do ShowPhoto servlet thực hiện. Servlet này nhận các dữ liệu hình ảnh từ cùng một cơ sở dữ liệu DB2 Express-C 9.5. Sử dụng bộ khởi đầu các ứng dụng Java của bạn để mã hoá, thử nghiệm và triển khai các ứng dụng Hình 4 cho thấy bộ khởi đầu trợ giúp tạo ra ứng dụng này như thế nào: Hình 4. Phát triển ứng dụng bằng các công cụ miễn phí Bạn sẽ viết mã cho ứng dụng trong Eclipse và sử dụng một cá thể của Máy chủ ứng dụng do Eclipse điều khiển để triển khai và thử nghiệm ứng dụng đó. Thành phần JSP của ứng dụng truy cập vào cơ sở dữ liệu mẫu của DB2 Express-C 9.5 thông qua một pool JDBC do Máy chủ ứng dụng quản lý. Thành phần servlet của ứng dụng cũng sử dụng cùng pool được quản lý ấy để truy cập vào các trường BLOB từ cơ sở dữ liệu, chuyển đổi chúng thành thông tin đồ họa để hiển thị như là các ảnh của nhân viên trong trình duyệt. JSP lựa chọn nhân viên Bắt đầu từ dự án dwapp trong Eclipse như thấy trong Hình 2, nhấn chuột phải vào thư mục WebContent trong khung nhìn Navigator và chọn New > Other... (hoặc ấn Ctrl+N). Chọn Web > JSP từ thủ thuật New, như hiển thị trong Hình 5: Hình 5. Tạo ra một JSP mới, sử dụng thủ thuật New của Eclipse Nhấn Next và sau đó nhập tên của JSP mới là employee.jsp. Nhấn vào Finish để hoàn thành việc tạo ra mẫu JSP ban đầu. Bây giờ, biên tập JSP đã tạo ra bằng cách thêm đoạn mã được in đậm như hiển thị trong Listing 1: Listing 1. Thành phần employee.jsp để xử lý các tương tác giao diện người sử dụng <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> dW Example Employee Information from DB2 Express C Table DB2 Employee Information SELECT * FROM EMPLOYEE ORDER BY LASTNAME ${employee.lastname}, ${employee.firstnme} SELECT * FROM EMPLOYEE WHERE EMPNO='${param.empno}' ${employee.lastname}, ${employee.firstnme} Employee number:${employee.empno} Position:${employee.job} Hired:${employee.hiredate} Department:${employee.workdept} Phone number:${employee.phoneno} Salary:$${employee.salary} Bonus:${employee.bonus} Tuân theo cách làm JSP tốt nhất, employee.jsp không chứa mã Java nhúng; việc tạo ra tất cả mã động được xử lý qua JSTL và Expression Language (EL). employee.jsp hoạt động như thế nào Hình 1 chỉ ra cách bố trí của employee.jsp. Một danh sách thả xuống — một phần tử HTML — duy trì danh sách các tên nhân viên. Người sử dụng chọn bất kỳ một trong những nhân viên từ danh sách và nhấn vào nút find employee. Thông tin chi tiết về nhân viên được chọn sau đó sẽ hiển thị, cùng với một bức ảnh của nhân viên đó nếu có. (Không phải tất cả các nhân viên đều có sẵn một ảnh trong cơ sở dữ liệu DB2 mẫu). Trong employee.jsp, sử dụng mã JSTL trong Listing 2 để tạo ra danh sách thả xuống: Listing 2. Tạo ra các tên nhân viên động để lựa chọn SELECT * FROM EMPLOYEE ORDER BY LASTNAME ${employee.lastname}, ${employee.firstnme} Bạn sử dụng thẻ JSTL SQL để thực hiện một truy vấn lựa chọn tất cả các bản ghi nhân viên từ cơ sở dữ liệu DB2. Điều này tương tự như truy vấn đã được bạn sử dụng trong ví dụ Khởi đầu các ứng dụng Java của bạn: Phần mềm miễn phí, phát triển nhanh chóng. Lần này, thông tin nhân viên được trả về theo tên họ được sắp xếp theo thứ tự chữ cái abc (nhờ mệnh đề ORDER BY LASTNAME trong truy vấn SQL) để làm cho việc lựa chọn các tên từ danh sách thả xuống dễ dàng hơn. Bạn thực hiện truy vấn SQL đối với jdbc/DataSource Việc này được cấu hình trong kế hoạch triển khai geronimo-web.xml của ứng dụng và trỏ tới pool cơ sở dữ liệu toàn hệ thống có tên là dwDatasource, đã được cấu hình trên Máy chủ ứng dụng. Sau đó, bạn sử dụng thẻ vòng lặp để lặp theo danh sách các nhân viên được chọn mỗi lần một hàng. Một thẻ HTML được tạo ra cho mỗi nhân viên. Giá trị của là một số nhân viên và văn bản được hiển thị là họ và tên của nhân viên. Ví dụ, được tạo ra cho Bruce Adamson là: ADAMSON, BRUCE Toàn bộ phần tử tồn tại bên trong một thẻ HTML bao quanh, như hiển thị bằng chữ đậm trong Listing 3: Listing 3. Danh sách bên trong phần tử ... ... Thẻ tạo ra liên kết URL tạo ra một URL có định dạng đúng cho bạn, trỏ ngược lại tới chính employee.jsp này để xử lý biểu mẫu. URL này được đặt trong một biến gọi là empURL và được sử dụng trong thuộc tính hành động của thẻ . Khi người sử dụng lựa chọn một nhân viên — ví dụ, Bruce Adamson (empno=000150) — và nhấn vào nút find employee, thông tin biểu mẫu này được đệ trình ngược lại tới employee.jsp để xử lý bằng URL này: Xử lý đệ trình biểu mẫu HTML Trang employee.jsp có hai vai trò:  Để hiển thị danh sách các nhân viên để lựa chọn  Để xử lý việc đệ trình biểu mẫu sau khi một nhân viên được chọn Để xác định xem việc đệ trình biểu mẫu đã được thực hiện chưa, bạn cần phải kiểm tra xem có tồn tại một tham số empno HTTP GET không. Bạn có thể sử dụng toán tử empty trong JSTL cho việc kiểm tra này. Mã lệnh để trình bày thông tin và ảnh nhân viên được bao trong dấu ngoặc bằng một thẻ để thực hiện phép kiểm tra này. Đoạn mã này được hiển thị trong Listing 4: Kiểm tra sự tồn tại của tham số biểu mẫu empno SELECT * FROM EMPLOYEE WHERE EMPNO='${param.empno}' ... Nếu yêu cầu HTTP đầu vào không có tham số empno, thì không có thông tin chi tiết nhân viên nào được tạo ra. Để tạo thông tin chi tiết nhân viên, một khác được thực hiện đối với bảng EMPLOYEE (nhân viên). Lệnh SELECT này bây giờ xác định chính xác một nhân viên có số hiệu nhân viên tương ứng. Đối tượng ẩn JSTL, param, được sử dụng để trình bày giá trị tham số empno đầu vào trong lệnh SELECT như thấy trong Listing 5: Listing 5. Nhận được bản ghi của một nhân viên khi sử dụng một truy vấn SQL được tạo ra động SELECT * FROM EMPLOYEE WHERE EMPNO='${param.empno}' ... Mặc dù một cấu trúc được sử dụng ở đây, bạn đang làm việc với chỉ một hàng (vì mỗi nhân viên chỉ có một số nhân viên duy nhất). Cấu trúc JSTL này làm đơn giản hoá việc truy cập vào dữ liệu hàng trong tập kết quả được trả về. Để tạo ra thông tin văn bản, biến employee thiết lập bằng có thể được sử dụng trực tiếp. Ví dụ, biểu thức EL sau đây tạo ra số điện thoại của nhân viên trong cấu trúc : ${employee.phoneno} Để tạo ra ảnh nhân viên, bạn sử dụng một thẻ HTML Sử dụng thẻ JSTL tạo ra URL hiển thị hình ảnh này: Ví dụ, thẻ được tạo ra có hiệu lực cho Bruce Adamson (có empno là 00150) là: Điều này có nghĩa là URL sau phải tạo ra một luồng bit để biểu diễn ảnh của nhân viên: servlet ShowPhoto.java tạo ra luồng bit của ảnh. Hiển thị ảnh từ các trường BLOB DB2 Các bức ảnh nhân viên được lưu trữ trong bảng EMP_PHOTO của cơ sở dữ liệu mẫu DB2. Bảng 2 mô tả các trường của bảng này: Bảng 2. Các trường của bảng EMP_PHOTO Tên trường Mô tả empno Số hiệu nhân viên của nhân viên tương ứng. photo_format Đ
Tài liệu liên quan