Tổng quan về Struts 2




Struts 2 Framework được sử dụng để phát triển các ứng dụng web dựa trên MVC. Struts 2 là sự kết hợp của Webwork Framework và Struts 1. Struts 2 không phải là phiên bản tiếp theo của Struts 1.

Struts 2 cung cấp rất nhiều đặc điểm mà không có trong Struts 1. Dưới đây là các đặc điểm quan trọng nhất của Struts 2:

  • Các thành phần MVC có thể cấu hình

  • Các Action dựa trên POJO

  • Hỗ trợ AJAX

  • Dễ dàng tích hợp

  • Kiểu kết quả (Result Type) đa dạng

  • Hỗ trợ tag

  • Hỗ trợ Theme và Template

Các thành phần MVC có thể cấu hình

Struts 2 Framework cung cấp tất cả các thành phần (action và các thành phần view) trong struts.xml file. Nếu bạn cần thay đổi bất cứ thông tin nào, bạn có thể dễ dàng thay đổi nó trong xml file.

Các action dựa trên POJO

Trong Struts 2, lớp Action là POJO (là viết tắt của Plain Old Java Object), là một lớp Java đơn giản. Ở đây, bạn không buộc để triển khai bất cứ Interface nào hoặc kế thừa bất cứ lớp nào. Với Struts 2, bạn có thể sử dụng bất cứ POJO nào để nhận form input.

Hỗ trợ AJAX

Struts 2 cung cấp sự hỗ trợ tới công nghệ AJAX. Nó được sử dụng để tạo yêu cầu không đồng bộ (nó không chặn người dùng). Nó chỉ gửi dữ liệu trường request tới Server Side. Do đó, chính điều này làm cho hiệu suất của nó nhanh hơn.

Dễ dàng tích hợp

Chúng ta có thể dễ dàng tích hợp ứng dụng Struts 2 với các Framework khác như Hibernate, Spring, Tile, …

Kiểu kết quả (Result Type) đa dạng

Bạn có thể sử dụng các công nghệ JSP, Freemarker, Velocity, XSLT, … như là kết quả trong Struts 2.

Hỗ trợ tag đa dạng

Struts 2 hỗ trợ nhiều kiểu tag khác nhau như UI tag, Data tag, Control Tag, … để việc phát triển các ứng dụng Struts 2 trở nên dễ dàng hơn.

Hỗ trợ Theme và Template

Struts 2 hỗ trợ ba kiểu Theme: xhtml, simple và css_xhtml. Trong đó, xhtml là Theme mặc định trong Struts 2. Các Theme và Template có thể được sử dụng cho L&F (viết tắt của Look and Field) chung.

Một số hạn chế của Struts 2

Mặc dù Struts 2 cung cấp rất nhiều đặc điểm và tính năng tốt nhưng bên cạnh đó nó còn bộc lộ một số điểm hạn chế sau:

  • Để sử dụng MVC với Struts, bạn phải có kiến thức về JSP, Servlet chuẩn, và một số Framework phức tạp khác, điều này làm cho việc học tập Struts trở nên khá khó khăn.

  • Khá ít tài liệu trực tuyến. Khi so sánh với Servlet và JSP, thì Struts có ít nguồn tài liệu trực tuyến hơn.

  • Khi so sánh với các ứng dụng web dựa trên Java, thì có nhiều thứ đằng sau các ứng dụng Struts hơn, điều này làm cho nó khó khăn hơn để hiểu rõ.