P. 1
Tìm hiểu Java Struts

Tìm hiểu Java Struts

Ratings: (0)|Views: 15,971|Likes:
Published by Duong Cuong

More info:

Published by: Duong Cuong on Aug 28, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

05/11/2014

pdf

text

original

 
Giới thiệu chungDự án Struts
Struts, một dự án mã nguồn mở của Apache Software Foundation, là một bản hiện thực Java phíaserver của mẫu thiết kế Model-View-Controller (MVC). Dự án Struts được khởi xướng bởi CraigMcClanahan vào tháng 5/2000, thuộc dự án Apache Jakarta. Hiện tại, dự án Struts đã trở thànhmột dự án độc lập—dự án Apache Struts.Dự án Struts được thiết kế với mục đích cung cấp một bộ khung mã nguồn mở để tạo các ứngdụng Web, tách tầng trình bày (presentation layer) ra khỏi tầng giao tác (transaction layer) vàtầng dữ liệu (data layer). Từ khi ra đời, dự án Struts nhận được nhiều ủng hộ của các nhà pháttriển và nhanh chóng chiếm ưu thế trong cộng đồng mã nguồn mở. Quyển sách này đề cập phiên bản 1.1 của Struts.Một cuộc tranh luận nhỏ đã diễn ra trong cộng đồng những nhà phát triển về mẫu thiết kế mà dựán Struts giống nhất. Theo tài liệu được cung cấp từ chính những nhà phát triển dự án Struts, nóđược thiết kế theo mẫu MVC; nhưng một số khác thì cho rằng nó giống mẫu thiết kế FrontController hơn (mẫu này được mô tả bởi Sun's J2EE Blueprints Program). Sự thật thì nó rấtgiống mẫu Front Controller; nhưng trong quyển sách này, chúng ta thảo luận theo mẫu MVC. Nếu muốn tìm hiểu về mẫu Front Controller, bạn có thể xem tại:http://developer.java.sun.com/developer ... EE/despat/
Mẫu thiết kế MVC
Để nắm vững Struts Framework, bạn phải hiểu cơ bản về mẫu thiết kế MVC. Mẫu thiết kế MVC,được bắt nguồn từ Smalltalk, bao gồm ba thành phần: Model, View, và Controller.
 Ba thành phần của mẫu thiết kế MVC 
Model
Biểu diễn các đối tượng dữ liệu. Thành phần Model là những gì đang được thao tác và trình bàycho người dùng.
View
Đóng vai trò là phần biểu diễn trên màn hình (screen representation) của thành phần Model.Thành phần View là đối tượng trình bày trạng thái hiện tại của các đối tượng dữ liệu.
Controller
Định nghĩa cách thức giao diện người dùng tương tác lại dữ liệu đầu vào. Thành phần Controller là đối tượng thao tác thành phần Model (hay đối tượng dữ liệu).Dưới đây là một số lợi ích khi sử dụng mẫu thiết kế MVC:
Tính tin cậy
 —Tầng trình bày và tầng giao tác có sự phân chia rõ ràng, cho phép bạn thay đổi
 
cảm quan của ứng dụng mà không cần biên dịch lại mã lệnh của Model hay Controller.
Tính thích ứng và tái sử dụng cao
 —Mẫu MVC cho phép bạn sử dụng nhiều loại khung nhìn,tất cả cùng truy xuất đến một mã nguồn phía server, từ trình duyệt web (HTTP) cho đến trìnhduyệt không dây (WAP).
Các phí tổn trong vòng đời phát triển rất thấp
 —Mẫu MVC chỉ cần có người lập trình cấpthấp phát triển và bảo trì các giao diện người dùng.
Triển khai nhanh chóng
 —Thời gian phát triển có thể được giảm đáng kể, bởi vì những ngườilập trình cho thành phần Controller (nhà phát triển Java) chỉ tập trung vào phần giao tác, cònnhững người lập trình cho thành phần View (nhà phát triển HTML và JSP) chỉ tập trung vào phần trình bày.
Tính bảo trì
 —Việc tách phần trình bày và logic nghiệp vụ cũng khiến việc bảo trì và sửa đổimột ứng dụng Web dựa trên Struts dễ dàng hơn.
Bản hiện thực Struts của mẫu MVC
Struts Framework mô hình hóa bản hiện thực phía server của mẫu MVC bằng cách kết hợp cáctrang JSP, các thẻ JSP tùy biến, và một Java servlet. Trong phần này, chúng ta mô tả ngắn gọncách Struts Framework ánh xạ đến mỗi thành phần của mẫu MVC.
 Bản hiện thực Struts của mẫu MVC 
Hình trên mô tả quy trình xử lý mà hầu hết các yêu cầu ứng dụng Struts cần tuân theo. Quy trìnhnày có thể được chia thành 5 bước cơ bản:1. Một yêu cầu xuất phát từ một View đã được hiển thị trước đó.2. Yêu cầu này được tiếp nhận bởi ActionServlet (đóng vai trò là một Controller), ActionServlettìm URI được yêu cầu trong một file XML (sẽ được mô tả trong chương 3, “Làm quen vớiStruts”) và xác định tên lớp Action sẽ thực hiện logic nghiệp vụ cần thiết.
 
3. Lớp Action thực hiện logic của nó trên các thành phần Model của ứng dụng.4. Khi đã hoàn tất quá trình xử lý, lớp Action trả quyền điều khiển cho ActionServlet, đồng thờicung cấp một khóa (key) biểu thị các kết quả xử lý. ActionServlet sử dụng khóa này để xác địnhcác kết quả sẽ được chuyển đến đâu khi trình bày.5. Yêu cầu kết thúc khi ActionServlet chuyển yêu cầu đến View được gắn với khóa trả về, View này trình bày các kết quả của Action.Bạn có thể nhận ra những bước trên là một dạng biểu diễn đã được đơn giản hóa của một yêu cầuStruts. Chúng ta sẽ đề cập chi tiết hơn về những bước này, bao gồm các thành phần khác, trong phần tiếp theo.
Thành phần Model
Các thành phần Model của Struts Framework, như đã được giới thiệu ở phần trước, biểu diễn cácđối tượng dữ liệu của ứng dụng Struts. Chúng thường biểu diễn các đối tượng nghiệp vụ hay cáchệ thống backend khác và có thể được hiện thực là những JavaBean đơn giản, những EnterpriseJavaBean, những biểu diễn đối tượng của dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ,hoặc chỉ là những gì cần được thao tác hay biểu diễn trong một ứng dụng Web. Chúng ta sẽ thảoluận chi tiết hơn về thành phần Model trong phần sau, “Tích hợp Jakarta Commons DatabaseConnection Pool”.
Thành phần View
Mỗi thành phần View trong Struts Framework được ánh xạ đến một trang JSP, trang này có thểchứa bất kỳ sự kết hợp nào của các thẻ tùy biến Struts, JSP, và HTML. Các trang JSP trong StrutsFramework có hai chức năng chính. Thứ nhất, đóng vai trò là tầng trình bày của một Controller Action đã được thực thi trước đó. Điều này thường được hoàn thành bằng cách sử dụng một tậpthẻ tùy biến để duyệt và thu lấy dữ liệu mà Controller Action chuyển đến JSP đích. Loại Viewnày không thể hiện đặc trưng của Struts và không được lưu tâm.Chức năng thứ hai, thể hiện đặc trưng của Struts, là thu thập dữ liệu cần thiết để thực hiện mộtController Action cụ thể. Điều này thường được hoàn thành bằng cách kết hợp các thư viện thẻStruts và các đối tượng ActionForm. Loại View này chứa một số lớp và thẻ đặc-trưng-Struts.Đoạn mã sau là một ví dụ đơn giản về loại View này:Code:Chọn hết
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"><html:form action="loginAction.do"name="loginForm"type="com.stock.loginForm" >User Id: <html:text property="username"><br/>Password: <html:password property="password"><br/><html:submit /></html:form>

Activity (66)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
WomBach Tan liked this
Toan Tran liked this
Cụ Kim liked this
Soleil liked this
Van Chung Nguyen liked this
Nikolai Vũ liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->