Xây dựng các portlet bằng Geronimo Apache và Eclipse Quản lý cổng Web Liferay bằng nền các công cụ Web của Eclipse WTP Matthew Scarpino, Phát triển Java, Eclipse Engineering, LLC Tóm tắ
Trang 1Xây dựng các portlet bằng Geronimo Apache và Eclipse
Quản lý cổng Web Liferay bằng nền các công cụ Web của Eclipse (WTP)
Matthew Scarpino, Phát triển Java, Eclipse Engineering, LLC
Tóm tắt: Các nhà phát triển Web có thể xây dựng các cổng Web (portal) đa chức
năng bằng cách sắp xếp các thành phần hướng sự kiện, đơn giản và tái sử dụng được gọi là các portlet Eclipse làm cho quá trình này thậm chí còn đơn giản hơn nữa Trước hết, hãy tìm hiểu nền các công cụ Web của Eclipse (Eclipse Web Tools Platform - WTP) cung cấp một môi trường phát triển hoàn chỉnh để biên tập
mã và các tệp tin cấu hình cần thiết cho các dự án portlet như thế nào Sau đó, bằng việc tích hợp trình bổ sung Apache Geronimo Eclipse, hãy tìm hiểu cách mà bạn có thể triển khai và hiển thị những portlet này bên trong một cổng Web đầy đủ bằng cách truy cập máy chủ ứng dụng Geronimo
Trước khi bạn bắt đầu
Về tài liệu hướng dẫn này
Với các công cụ mã nguồn mở thích hợp, bạn có thể xây dựng nên một cổng Web
có khả năng và đa chức năng như là địa chỉ mạng của một công ty lớn Hướng dẫn này khảo sát một phương pháp tạo ra một cổng Web như vậy bằng cách sử dụng 3 công cụ:
Môi trường phát triển tích hợp (IDE) Eclipse để phát triển dự án
Một máy chủ ứng dụng Apache Geronimo để triển khai nó
Cổng Web Liferay để cung cấp cấu trúc tổng thể
Cần một số nỗ lực để cài đặt các thành phần này và khắc phục những sự không tương hợp về phiên bản Nhưng sau khi lập cấu hình, quá trình xây dựng và triển khai cổng Web sẽ thông suốt
Mục tiêu
Hướng dẫn này trình bày:
Tổ chức và đơn giản hoá phát triển cổng Web với WTP Eclipse
Cơ cấu các portlet trong cổng Web Liferay
Trang 2 Triển khai một ứng dụng portlet dựa servlet lên một máy chủ ứng dụng Geronimo
Triển khai một ứng dụng portlet dựa trên Java™Server Pages (JSP) với một máy chủ ứng dụng Geronimo
Điều kiện tiên quyết
Tài liệu hướng dẫn này viết cho các nhà phát triển Java bản doanh nghiệp mà có
kỹ năng và kinh nghiệm từ trình độ mới bắt đầu cho đến trung cấp Bạn cần có hiểu biết thông thường về công nghệ Java, các servlet, và các trang JSP cũng như phải biết qua Eclipse và cách nó quản lý các dự án
Yêu cầu về hệ thống
Để bắt đầu hướng dẫn này, bạn cần một phiên bản Eclipse 3.2 gần đây hoặc mới hơn trên hệ thống của bạn Bạn sẽ cài đặt WTP, máy chủ Geronimo, máy chủ runtime Geronimo và nền cổng Web Liferay khi học theo hướng dẫn này
Trang 3Cổng Web, portlet, và Geronimo
Tìm hiểu sự khác nhau giữa cổng Web và portlet, và khám phá vai trò của
Geronimo Apache trong việc tạo ra chúng
Giới thiệu về cổng Web và portlet
Java Specification Request (JSR) 168 định nghĩa cổng Web (portal) là “một ứng
dụng Web mà thường cung cấp sự cá nhân hoá, đăng nhập một lần, gộp nội dung
từ các nguồn khác nhau và chủ chứa tầng trình bày của các Hệ thống Thông tin”
Nó định nghĩa portlet là “một ứng dụng Web thành phần, do một thùng chứa
portlet quản lý, xử lý các yêu cầu và tạo ra nội dung động” Về mặt chức năng mà nói thì các portlet tạo ra các đoạn tài liệu đánh dấu (markup) khi phản hồi các yêu cầu, và các cổng Web quản lý các đoạn tài liệu này và cơ cấu chúng vào một khung làm việc
Các cơ quan lớn thường sử dụng các cổng Web để cung cấp cho người dùng nhiều khả năng sử dụng từ một trang duy nhất Trong nhiều trường hợp, các cổng Web này cũng phục vụ như là các ứng dụng intranet để phục vụ truyền thông trong phạm vi toàn cơ quan Việc phát triển các trang này sẽ không thể thực hiện được nổi với các servlet đơn khối, do đó các portlet được tạo ra như là các thành phần cắm chạy được, có thể thêm vào và sửa đổi một cách động Nhờ tiêu chuẩn JSR
168 thông dụng, các nhà phát triển cổng Web có thể trộn vào và khớp nối với các portlet từ các nhà cung cấp khác nhau mà không cần thay đổi gì đáng kể Vì vậy không cần phải viết lại các ứng dụng đăng ký, các trình tự động báo giá thị trường
cổ phiếu (stock ticker), các trình tự động cập nhật tin (Really Simple Syndication - RSS) – chỉ đơn giản là tải về và triển khai, thế là xong
May mắn thay, sẵn có nhiều công cụ mã nguồn mở để phát triển cổng Web cho tất
cả mọi người sử dụng Dự án Apache Jetspeed, được phát hành theo giấy phép của Apache, cung cấp một số lớn các đặc tính bao gồm việc truy cập cơ sở dữ liệu, đảm bảo an ninh dựa trên vai trò (role-based), và hỗ trợ cho Ngôn ngữ Đánh dấu Không dây (WML) Apache Pluto là một thực thi chuẩn của JSR 168, có nghĩa là
nó có thể quản lý và hiển thị các portlet theo tiêu chuẩn nhưng không cung cấp các đặc tính bổ sung mà các nhà phát triển từng mong chờ Cổng Web JBoss cũng rất phổ biến và được phát hành theo giấy phép công cộng GNU nhỏ (Lesser GNU Public License -LGPL)
Hướng dẫn này sử dụng các nền cổng Web Liferay để cơ cấu nên nội dung của nó (Xem Liferay vs Pluto ở cột bên để biết vì sao tôi chọn cổng Web này) Nền này được phát hành theo giấy phép của MIT, có nghĩa là bạn có thể sử dụng nó vào mục đích riêng mà không phải trả tiền bản quyền Ngoài việc cung cấp một khung
Trang 4làm việc để hiển thị các portlet, nó còn tích hợp một số lớn các tính năng, bao gồm:
Xác định phiên bản và biên soạn phân tán dựa trên web (WebDAV)
Một Hệ thống Quản lý Nội dung hoàn chỉnh (CMS)
Sửa đổi danh bạ thông qua Giao thức Truy cập Danh bạ Gọn nhẹ
(Lightweight Directory Access Protocol - LDAP)
Dịch thuật ngôn ngữ
Hỗ trợ cho nhiều máy chủ ứng dụng khác nhau, gồm cả Geronimo
Nhiều portlet mẫu miễn phí, gồm cả các dịch vụ chat (chat clients), lịch, đồng hồ, và các cung cấp RSS (RSS feeds)
Liferay so với Pluto
Pluto được gộp trong Geronimo và do quỹ phần mềm Apache (Apache Software Foundation) phát hành, vì vậy tôi thấy cần phải giải thích lý do tại sao tôi lại chọn Liferay làm cơ cấu khung cổng Web cho hướng dẫn này Nó làm cho việc triển khai được dễ dàng Liferay cung cấp một ứng dụng Web chạy được ngay trong Geronimo Nhưng các tạo phẩm của Pluto trong kho chứa Geronimo không được đóng gói như là một ứng dụng web và không được kích hoạt khi Geronimo khởi động Cho nên phải mất nhiều công sức để lập cấu hình một ứng dụng Pluto dành cho Geronimo và tích hợp nó vào trong thùng chứa Tomcat Apache
Tuy nhiên, theo tư liệu trên trang mạng Pluto, Maven là ứng dụng được ưa thích
để truy cập Pluto Maven cung cấp nhiều ích lợi cho việc quản lý dự án lớn, nhưng theo như kinh nghiệm đau xót của tôi, trình bổ sung Maven không làm việc tốt với Eclipse và WTP Trang mạng Pluto cũng nhấn mạnh (bằng các chữ màu đỏ sáng!) rằng “để tự động hoá việc triển khai/cài đặt các portlet, bạn phải sử dụng bản mã nguồn của Pluto” Điều này hẳn có nghĩa là phải tạo lập và sửa đổi một dự án Eclipse với tất cả mã nguồn Pluto và các thư viện phụ thuộc Với Liferay, bạn không bao giờ phải động đến mã nguồn để triển khai các portlet
Cuối cùng là, Liferay cung cấp nhiều portlet và các chức năng miễn phí có sẵn đến nỗi tôi cảm thấy phải nhắc đến nó thậm chí nếu tôi muốn chọn Pluto như làm thùng chứa portlet Và không chỉ tư liệu của Liferay là hơn nhiều so với của Pluto,
mà nó thậm chí còn cung cấp các hướng dẫn bằng video về cách thực hiện các nhiệm vụ thông thường Đến nay, tôi rất có ấn tượng với Liferay — thực sự, điều
tôi than phiền duy nhất là nó cung cấp quá nhiều tính năng
Trang 5Ngoài ra, Liferay chứa một cơ cấu khung làm việc quy mô lớn để triển khai các ứng dụng Intranet tại các điểm phân tán Theo cách này, các nhà quản trị trong các
cơ quan lớn có thể tuỳ biến cổng Web cho từng chi nhánh, từng địa điểm và từng nhóm người trong cơ quan của mình
Máy chủ ứng dụng Geronimo
Trong hướng dẫn này, bạn triển khai cổng Web mẫu và ứng dụng portlet vào một máy chủ ứng dụng Geronimo (Geronimo được phát hành theo Giấy phép Apache của Quỹ phần mềm Apache [ASP].) Máy chủ ứng dụng Geronimo là máy chủ ứng dụng được chứng nhận hoàn toàn hợp chuẩn nền Java 2, bản Doanh nghiệp 1.4 (J2EE), Enterprise Edition, và tuy còn trẻ, nó vẫn đứng ngang hàng với các sản phẩm thương mại về các đặc tính, độ tin cậy và hiệu năng hoạt động Máy chủ Ứng dụng WebSphere® của IBM® Bản Cộng đồng, là dựa trên Geronimo
Geronimo có cấu trúc như một bộ mô đun các đối tượng quản lý gọi là Geronimo Beans (GBeans) Mỗi thành phần được gói trong một GBean và trưng bày vòng
đời của mình để cho các thành phần khác tương tác đến Một số thành phần quan trọng nhất trong Geronimo gồm:
Trình Môi giới Thông điệp ActiveMQ (ActiveMQ Message Broker)
Thùng chứa OpenEJB Enterprise JavaBeans (EJB)
Thùng chứa Tomcat hay Jetty Web
Dịch vụ Phân giải tên dựa trên gọi Phương thức Từ xa (RMI-based)
Hệ Quản trị Cơ sở dữ liệu Quan hệ (RDBMS) Derby Apache
Geronimo có thể sử dụng hoặc thùng chứa Tomcat hoặc Jetty Web để triển khai các ứng dụng của nó, nhưng hướng dẫn này dựa trên Geronimo với cài đặt
Tomcat Nếu bạn đã sử dụng Tomcat chạy độc lập, phần lớn hoạt động mô tả ở đây sẽ thấy quen thuộc Tuy nhiên, bạn không thể truy cập Tomcat trực tiếp Thay vào đó, bạn cần triển khai các ứng dụng của mình bằng cách sử dụng một trong ba phương thức triển khai Geronimo sau:
Công cụ dòng lệnh deploy
Bàn điều khiển Web Geronimo
Bộ triển khai nóng
Trang 6Tuỳ chọn cuối cùng này đòi hỏi việc gửi ứng dụng Web đến thư mục
$(GERONIMO)/deploy, nơi mà Geronimo sẽ phát hiện ra nó Trong hướng dẫn này, Eclipse sẽ tự động thực hiện việc triển khai nóng
Trong khi triển khai, Geronimo tạo ra một phần tử mới trong kho của nó dành cho
ứng dụng Yếu tố này gọi là một tạo phẩm (artifact), được xác định bởi một cấu
trúc thư mục đặc biệt Bất kỳ ứng dụng nào mà phụ thuộc vào nó phải biết đến cấu trúc này Ở đây, ứng dụng portlet mẫu phụ thuộc vào một tạo phẩm của Liferay, và tôi sẽ chỉ cho bạn thấy cách thông báo cho Geronimo về sự phụ thuộc này Nhưng trước tiên bạn cần phải biết cách lấy về và lập cấu hình phần mềm đối với hướng dẫn này
Trang 7Tạo môi trường Eclipse
Viết mã các ứng dụng portlet không phải là điều khó Khó là ở chỗ lấy về và cài đặt tất cả các phần mềm mà bạn cần sao cho bạn có thể viết mã các portlet trong Eclipse và triển khai chúng với Geronimo
Các thành phần phần mềm cần thiết
Bạn cần có bốn thành phần chính sau đây:
WTP 1.5.1: Đặc tính này cho phép bạn tạo ra và biên tập các dự án Eclipse
cho các ứng dụng web động Nó cũng cung cấp việc triển khai trực tiếp các ứng dụng này bằng cách sử dụng các máy chủ ứng dụng hoặc máy chủ Web
Geronimo Server Runtime: Trình bổ sung Eclipse này cho phép đặc tính
WTP truy cập được vào một máy chủ Geronimo và sử dụng nó để triển khai các ứng dụng
Geronimo application server: Máy chủ Geronimo triển khai các ứng dụng
portlet trong cổng Web Liferay
Liferay portal: Ứng dụng Web Liferay cung cấp khung cấu trúc để chủ
chứa và hiển thị các portlet của bạn
Cài đặt nền công cụ Web (WTP - Web Tools Platform)
Eclipse WTP có hai vai trò quan trọng trong hướng dẫn nàyl:
Nó cung cấp một phương tiện đơn giản để tổ chức các dự án ứng dụng Web
và xuất ra thành các tệp tin WAR
Với đặc tính bổ sung thích hợp, nó đóng vai trò là bàn điều khiển để khởi động, dừng, và giao tiếp với máy chủ Geronimo
Nói đơn giản, WTP cho phép đi từ mã nguồn đến triển khai ứng dụng thông qua con trỏ và nhấn chuột
Để cài đặt WTP, hãy thực hiện các bước sau:
1 Mở Eclipse và nhấn Help > Software Updates
Trang 82 Chọn Find and Install sau đó đánh dấu tùy chọn Search for New
Features to Install
3 Nhấn Next Cửa sổ hiển thị trong Hình 1 xuất hiện
Hình 1 Chọn trang web cập nhật
4 Đánh dấu chọn hộp Callisto Discovery Site sau đó nhấn Finish
Ghi chú: Callisto Discovery Site đóng gói lại các dự án chứa nhiều đặc
tính như WTP và đảm bảo tính tương thích về phiên bản giữa chúng
5 Nhấn OK khi danh sách các site nhân bản xuất hiện Trang web như trong
Hình 2 xuất hiện
Hình 2 Lựa chọn các đặc tính WTP
Trang 96 Đánh dấu chọn hộp Web and J2EE Development Điều này báo cho bộ
quản lý tải về các đặc tính tương ứng với Eclipse WTP Bạn sẽ trông thấy một cảnh báo nói rằng các đặc tính này đòi hỏi phải có các đặc tính bổ sung
để hoạt động được Để chắc chắn rằng bạn có tất cả các phần phụ thuộc cần thiết, thí dụ như bộ biên tập trực quan (Visual Editor), khung làm việc biên tập đồ họa (Graphical Editor Framework - GEF), và khung làm việc mô
hình hóa Eclipse (Eclipse Modeling Framework - EMF), nhấn Select
Required Khi cảnh báo biến mất, nhấn Next và chấp nhận thỏa thuận cấp
phép này
7 Nhấn Next, rồi nhấn Finish
Ghi chú: Nếu bạn tiếp tục trông thấy một cảnh báo phụ thuộc, thậm chí sau khi đã nhấn Select Required, có thể bạn cần một phiên bản mới hơn hoặc
bản ổn định hơn của Eclipse
8 Chọn để cài đặt tất cả các đặc tính, và khởi động lại Eclipse Để kiểm tra lại
xem các đặc tính đã được thêm vào chưa, chuyển đến Help > About
Eclipse SDK, và nhấn Feature Details
Trang 10Cài đặt Máy chủ ứng dụng Geronimo
Do đã cài đặt WTP, bạn sẽ thấy nhiều chủng loại (category) dự án Eclipse mới, bao gồm các dự án EJB, dự án J2EE, và dự án Web Dưới mục Web category, bạn
có thể tạo ra các dự án Web động và dự án Web tĩnh Dự án portlet trong hướng dẫn này là một dự án Web động, nhưng để triển khai dự án này bằng Geronimo, bạn phải có được máy chủ runtime Geronimo
Thêm hỗ trợ WTP cho máy chủ ứng dụng Geronimo
Để bổ sung hỗ trợ WTP cho máy chủ ứng dụng Geronimo của bạn, hãy thực hiện các bước sau:
1 Chọn Window > Preferences, mở mục Server, sau đó chọn Installed Runtimes Trang ưa thích sẽ trông tương tự như phần trên đầu của Hình 3
Hình 3 Thêm một máy chủ run time vào Eclipse
Trang 112 Nhấn Add phía bên phải để thêm một máy chủ run time mới Cửa sổ New
Server Runtime, như trong hình 4, cho biết rằng WTP đã hỗ trợ một vài máy chủ, bao gồm JBoss và Tomcat Nhưng trời ơi, Geronimo lại không có trong danh sách
3 Nhấn đường liên kết Don't see your vendor listed? Click here để quan sát
xem máy chủ run time bổ sung nào đang có sẵn
Hình 4 Các máy chủ run time sẵn có
4 Trong cửa sổ Install New Server, chọn bản Geronimo ưa dùng (hướng dẫn
này sử dụng bản 1.1), sau đó nhấn Next Hãy nhớ số phiên bản này
5 Chấp nhận thoả thuận giấy phép, nhấn Finish, rồi nhấn OK trong cửa sổ sẽ
xuất hiện
6 Eclipse tải về môi trường runtime Geronimo và hỏi xem bạn có muốn khởi
động lại bàn làm việc không Nhấn Yes
Trang 12
Tải về Geronimo
Đến bây giờ, bạn đã kết hợp WTP Eclipse vào Eclipse và thêm hỗ trợ cho máy chủ ứng dụng Geronimo Nhiệm vụ tiếp theo là tải về chính máy chủ
Để tải về máy chủ ứng dụng Geronimo, thực hiện các bước sau:
1 Chọn File > New > Other, sau đó chọn tùy chọn Server dưới mục Server
2 Nhấn Next để xem lại cửa sổ Define a New Server Lần này, khi bạn mở mục Apache, bạn sẽ thấy các tùy chọn cho Geronimo
3 Chọn phiên bản của Geronimo mà bạn đã cài đặt hỗ trợ cho nó, sau đó nhấn
Next
4 Trong cửa sổ tiếp theo, gõ nhập một địa chỉ thư mục trong hộp Application
Server Installation Directory, và hãy chắc chắn rằng tùy chọn Geronimo with Tomcat được đánh dấu
5 Nhấn Download and Install, rồi nhấn OK
6 Khi tải về kết thúc, nhấn Finish
7 Kiểm tra máy chủ, mở Phối cảnh J2EE bằng cách chọn Window > Open Perspective > Other và chọn J2EE Như thấy trong Hình 5, một số phiếu
mới sẽ xuất hiện ở phần khung hình dưới của bàn làm việc
Hình 5 Khởi động máy chủ Geronimo
8 Nhấn phiếu Servers, sau đó nhấn Run (được khoanh tròn màu xanh)
Trang 13Quan sát khung hình Console để xem các mô đun Geronimo nào cũng như các mô đun ứng dụng và ứng dụng web nào đang khởi động Để nhìn thấy bàn quản trị Geronimo chính, nhấn mục thanh công cụ mà trông giống như một quả địa cầu, và
gõ nhập http://localhost:8080/console trong trường address Gõ nhập system làm tên người sử dụng và manager là mật khẩu Khung hình trình duyệt trông giống như Hình 6
Trang 14Cài đặt nền cổng Web Liferay
Cổng Web Liferay đã phát triển được hơn sáu năm, nhưng việc hỗ trợ đầy đủ cho Geronimo chỉ vừa mới được bổ sung Xin kiểm tra lại trang web Liferay để tìm các hướng dẫn cài đặt khác nhau xem chúng có bị lỗi thời không
Để cài đặt cổng Web Liferay, thực hiện các bước sau:
1 Từ trang web Liferay (xem Tài nguyên), nhấn vào liên kết Downloads ở
trên đầu
2 Cuộn xuống cho đến khi bạn trông thấy phần Application Server Plugins
Sẽ có ít nhất hai liên kết để tải về các tệp tin lưu trữ cấu hình
(Configuration Archive - CAR):
o Tệp tin liferay-portal-geronimo-tomcat-a.b.c.car chứa mô đun
Liferay để gắn vào máy chủ Geronimo
o Tệp tin liferay-portal-geronimo-derby-pool-a.b.c.car chứa các tệp
tin cần thiết để Liferay giao tiếp với mô đun cơ sở dữ liệu Derby gộp trong bản cài đặt Geronimo
3 Nhấn vào các liên kết này Sau khi bạn đã tải về cả hai trình bổ sung, quay trở lại bàn điều khiển ứng dụng Geronimo trong trình duyệt Web Eclipse
4 Vì bạn đã tải về riêng lẻ các trình bổ sung này chứ không phải là truy cập một kho chứa trình bổ sung, bạn sẽ cần sử dụng lệnh deploy của Geronimo
từ dòng lệnh Tệp tin này (deploy.bat trong Microsoft® Windows® hoặc deploy.sh trong UNIX® hoặc Linux®) nằm trong thư mục bin gốc của Geronimo, do đó hãy bổ sung thư mục này vào biến môi trường PATH của bạn
5 Mở cửa sổ nhắc lệnh, chuyển đến thư mục chứa hai tệp tin CAR, và gõ nhập các lệnh sau theo đúng thứ tự (nhớ rằng người sử dụng mặc định tên
là system, mật khẩu là manager):
deploy install-plugin liferay-portal-geronimo-derby-pool-a.b.c.car
deploy install-plugin liferay-portal-geronimo-tomcat-a.b.c.car
Đừng lo lắng nếu bạn nhận được một lỗi trong cài đặt lần thứ hai Có thể nó
có nghĩa là trình bổ sung thứ hai đã được cài đặt đúng nhưng không khởi động được
Trang 156 Để xử lý vấn đề này, chuyển đến bàn quản trị Geronimo (Geronimo
Administration Console), nhấn vào liên kết Web App Wars dưới tiêu đề
Applications Cửa sổ mới, hiển thị các ứng dụng Web của Geronimo, sẽ nhìn tương tự như Hình 7
Hình 7 Khởi động bàn điều khiển Liferay trong Geronimo
Bạn có thể nhìn thấy bối cảnh của từng ứng dụng trong cột URL Ứng dụng trên cao nhất sử dụng bối cảnh /remote-deploy và bàn điều khiển cho máy chủ Tomcat sử dụng bối cảnh gốc, hay /
7 Nhưng ứng dụng cuối cùng, cổng Web Liferay, cũng muốn bối cảnh gốc này, nên phải gỡ bỏ cài đặt bàn điều khiển Tomcat bằng cách nhấn vào
Uninstall trong cùng một hàng với geronimo/welcome-tomcat/a.b.c/car Sau đó, khởi động cổng Web Liferay bằng cách nhấn Start
Ghi chú: Không một tác vụ nào trong số này ảnh hưởng đến Geronimo
Console
8 Có thể phải mất một ít thời gian, nhưng sau khi Geronimo khởi động ứng dụng cổng Web Liferay, chuyển đến http://localhost:8080/ trong trình duyệt Web Eclipse Trang xuất hiện trông giống như trang chủ Liferay; để xem
cổng Web này, nhấn vào liên kết Sign in ở phía trên bên phải Sau đó, trong
các hộp văn bản hiện ra, gõ nhập test@liferay.com là tên người dùng của bạn và test là mật khẩu của bạn Nếu mọi việc tốt đẹp, bạn sẽ nhìn thấy trang như Hình 8
Trang 16Hình 8 Cổng Web Liferay
Trước khi tiếp tục, hãy bớt chút thời gian để xem lướt qua cổng Web Liferay Khám phá các portlet và nhấn vào các liên kết và phiếu khác nhau Tất cả các tính năng này, từ đồng hồ cho đến lịch, đều có sẵn miễn phí khi bạn bắt đầu tạo các ứng dụng của riêng bạn
Trang 17Các bộ mô tả triển khai
Do bạn đã triển khai cổng Web Liferay bằng Geronimo, bạn đã sẵn sàng thêm vào các portlet Ví dụ này cho thấy cách tạo ra một portlet đơn giản mà hiển thị tất cả các thuộc tính sẵn có của nó Nó bắt đầu bằng việc cài đặt Eclipse và các bộ mô tả triển khai và kết thúc với việc thêm vào các servlet và ứng dụng JSP
Ghi chú: Nếu bạn không thích gõ nhập từng dòng mã, bạn có thể lấy về cả dự án
Eclipse hoàn chỉnh (xem Tải về) Sau khi bạn tải về các tệp mã lệnh mẫu (code
samples), chọn File > Import, sau đó chọn tuỳ chọn Existing Projects into Workspace dưới tiêu đề General
Tạo tệp tin web.xml
Để tạo các tệp tin web.xml và geronimo-web.xml, thực hiện các bước sau:
1 Trong Eclipse, chọn File > New > Project
2 Chọn Dynamic Web Project dưới tuỳ chọn Web
3 Đặt tên dự án là simpleportlet, sau đó nhấn Finish Khi bạn mở các thư
mục trong dự án, nó phải trông giống như Hình 9
Hình 9 Cấu trúc ban đầu của dự án Portlet
Trang 18Hai bộ mô tả triển khai quan trọng xuất hiện ở phía dưới cùng của dự án: web.xml
và geronimo-web.xml Bộ mô tả triển khai đầu tiên mô tả thành phần web nói chung, còn cái thứ hai báo cho Geronimo biết cách ứng dụng sẽ được đóng gói và triển khai như thế nào Trong dự án này, hãy sửa đổi web.xml sao cho nội dung của nó khớp với nội dung hiển thị trong Listing 1 Điều này có nghĩa là loại bỏ phần tử welcome-file-list và thêm các phần tử context-param, listener, servlet, servlet-mapping, và taglib, chúng được in đậm trong mã nguồn
Listing 1 Bộ mô tả triển khai web.xml