Thứ Tư, 16 tháng 7, 2014

Describe features, architecture, disadvantage and advantage of Struts 2

I.The MVC/Struts 2 Architecture.

Architecture(Kiến trúc của Struts 2)
- Khi client request đến server thì đầu tiên server sẽ chuyển đến Controller.
- Tiếp theo Controller sẽ truyền dữ liệu vào trong Action tùy thuộc client muốn gọi đến Action nào,sau đó sẽ đến Action Proxy.
- Tùy thuộc vào giá trị trả về Controller sẽ quyết định loại Result Type,sau đó forward đến View,tiếp đến View sẽ lấy dữ liệu trong Value Stack.Tất cả thông tin để tương tác với Struts đều được lưu trữ trong Value Stack.

II.Các thành phần chính của một ứng dụng Struts:

Struts Model Components

- Model là một thành phần được cho là quan trọng nhất với các ứng dụng MVC
- Model bao gồm các business entities và một tập các quy tắc để quản lý việc tổ chức và thao tác dữ liệu.
Struts không cung cấp các Model Component chuyên dụng,tuy nhiên chúng ta có thể sử dụng lại các Model của các ứng dụng khác hoặc tự xây dựng các Model riêng của mình.

Struts View Components

- Mục đích của Struts View cũng giống như một thành phần view trong các ứng dụng theo mô hình MVC: nó chịu trách nhiệm trình bày thông tin được cung cấp bởi Model.
- Struts sử dụng JSP để thiết kế thành phần View.Ngoài ra để hỗ trợ và mở rộng khả năng của View,chúng ta có thêm thư viện Taglib,sử dung HTML,JSP...cho mục đích trình bày thông tin.

Struts Controller Components

- Struts cung cấp 2 thành phần quan trọng đó là ActionServlet và Action để điều khiển và quản lý mọi yêu cầu của người dùng cũng như việc thao tác với dữ liệu.
- ActionServlet chịu trách nhiệm nhận và xử lý các request từ phía người dùng,chỉ định Action thực thi tương ứng với từng yêu cầu cụ thể.
- Action chịu trách nhiệm thao tác với Model,nó kết hợp rất chặt chẽ với ActionServlet.Cả 2 thành phần này đóng vai trò làm Controller trong Struts.

Struts Taglib

- Cung cấp một tập các tag library cho việc phát triển ứng dụng,bao gồm cả các taglib hỗ trợ thiết kế HTML và JSP taglib.

Struts Config

- File cấu hình của ứng dụng Struts.

II. Struts 2 Core Components:

- Actions: Dùng để điều khiển các request từ client.
- Interceptors
 + Cung cấp các Framework đặc trưng trong Struts 2 như: Exception handling, file uploading, lifecycle....
 + Có vai trò giống như Servlet Filters.
- Value stack / OGNL: Nơi lưu trữ dữ liệu để dùng trong các ứng dụng tương tác với Struts.
Result types: Tùy thuộc vào giá trị thì Action sẽ trả về View tương ứng.

III.Các features của Struts 2

POJO(Plain Old Java Object) Based forms and actions : Struts 2 đã làm đi với các hình thức hành động đó là một phần của Struts.Với Struts 2 bạn có thể sự dụng bất kì POJO để nhận các hình thức đầu vào. Tương tự như vậy bạn có thể thấy bất kỳ POJO như một class action.
- Tag support : Struts 2 đã được cải thiện các thẻ hình thức và các thẻ mới cho phép các nhà phát triển viết ít mã hơn.
AJAX Support : Strusts đã nhận ra có hơn bởi các công nghệ Web 2.0, và đã tích hợp hỗ trợ AJAX vào sản phẩm bằng cách tạo ra các thẻ AJAX,có chức năng tương tự như các thẻ Struts 2 tiêu chuẩn.
- Easy Integration: Tích hợp với các khuôn khổ khác như Spring,SiteMesh giờ là dễ dàng hơn với nhiều tích hợp có sẵn với Struts2.
- Templates support: Hỗ trợ các templates để tạo ra quan điểm sử dụng mẫu.
Profiling: Struts 2 cung cấp hồ sơ để gỡ lỗi và hồ sơ của ứng dung.Thêm vào đó Struts cũng cung cấp tích hợp gỡ lỗi với sự giúp đỡ của công cụ gỡ lỗi được xây dựng sẵn.
Easy to modify tags : Các tag đánh dấu trong Struts 2 có thể tinh chỉnh bằng cách sử dụng các mẫu Freemarker.Điều này không yêu cầu JSP,chỉ cần HTML cơ bản,XML và CSS là đủ để sửa đổi.
View technologies:Struts hỗ trợ tuyệt vời với nhiều tùy chọn xem (JSP,Freemarker,Velocity và XSLT.

IV.Ưu điểm và Nhược điểm

Nhược điểm:

- Theo tôi thấy để sử dụng Struts 2 bạn phải thành thạo JSP và Servlet
- Khá ít tài liệu về Struts2
- Hơi khó hiểu về khuôn khổ.

Ưu điểm:

-Hỗ trợ AJAX
-Hỗ trợ các templates.
-Dễ dàng tích hợp và sửa đổi các tag.
Cảm ơn các bạn đã đọc blog của tôi.

Không có nhận xét nào:

Đăng nhận xét