Struts là gì, thành phần cơ bản và cơ chế hoạt động của Struts Framework

Nguyễn Hữu Dũng 19/04/2021

Struts có lẽ đã là một thuật ngữ, một khái niệm đã quá quen thuộc với dân lập trình java web. Tuy nhiên, với những người mới vào nghề và chưa có quá nhiều kiến thức về Struts thì việc tìm hiểu về nó là điều vô cùng cần thiết.

Vậy cụ thể, Struts là gì? Những thành phần cơ bản và cơ chế hoạt động của Struts Framework ra sao? Cùng Bizfly tìm hiểu ngay bằng cách lướt xuống bài viết dưới đây.

Struts là gì? 

Struts là một framework mã nguồn mở được tạo ra bởi Craig McClanahan và được tặng cho Apache Foundation vào tháng 5 năm 2000.

Struts là gì

Struts là gì?

Mục đích của framework này là phát triển các ứng dụng web bằng cách sử dụng MVC Pattern và công nghệ J2EE đơn giản và dễ dàng thông qua việc cung cấp hàng loạt tiện ích và thư viện cho người dùng. 

Thành phần cơ bản của Struts 

Việc tìm kiếm thêm kiến thức về những thành phần cơ bản của Struts là không thể thiếu khi bạn muốn đi sâu hơn vào việc tìm hiểu Struts là gì.

Dưới đây là các thành phần cơ bản của Struts mà bạn nên biết.

  • Model: Bao gồm các quy tắc và business entities để quản lý tổ chức và các thao tác dữ liệu. Bạn có thể sử dụng lại model của ứng dụng hoặc tự xây dựng model cho riêng mình.
  • View: Chịu trách nhiệm trình bày những thông tin được cung cấp bởi model. Bằng cách sử dụng HTML, thư viện tab,.. bạn có thể mở rộng khả năng của view.
  • ActionServlet: Điều khiển và quản lý mọi yêu cầu khách hàng cũng như các thao tác dữ liệu.
  • Action: Kết hợp chặt chẽ với ActionServlet trong việc thao tác với model.

Cơ chế hoạt động của struts là gì? 

Để có cái nhìn sâu hơn và hiểu rõ hơn về Struts, Bizfly sẽ giới thiệu đến bạn cơ chế hoạt động của nó.

Cơ chế hoạt động của struts là gì

Cơ chế hoạt động của struts là gì?

  • Khi có yêu cầu truy xuất ứng dụng web của khách hàng, ActionServlet sẽ tiếp nhận chúng.
  • Thành phần yêu cầu được Action Server trích xuất và so sánh với nội dung được mapping trong tập tin cấu hình struts-config.xml để tìm ra những thành phần tương tự để tiến hành xử lý.
  • Struts sẽ báo lỗi khi không thể tìm thấy thành phần tương tự đó. Còn nếu tìm thấy thì tiến hành xác nhận action và view.
  • Giá trị tương ứng sẽ được lưu trữ trong Form Bean. Tuy nhiên, nếu validation được áp dụng thì mọi dữ liệu cần được kiểm tra rồi mới được lưu trữ.
  • Khi đón nhận dữ liệu từ Form Bean, action sẽ gọi các thành phần tương tự là java bean hay java object.
  • Action phải trả lại kết quả cho Action Servlet và mapping trong struts-config.xml để chắc chắn rằng view kết xuất cho khách hàng ngay sau khi xử lý hoàn tất.
  • Khi đã xác định xong, các dữ liệu nói trên sẽ được đổ vào trang JSP tương ứng và chuyển kết quả đến Action Servlet.
  • Action Servlet cung cấp kết quả cho người dùng và hoàn tất quá trình xử lý.

Sự khác nhau giữa struts và JSF 

Struts và JSF đều là các framework dựa trên công nghệ java với những phần hỗ trợ khá giống nhau. Chính vì vậy mà khá nhiều người còn nhầm lẫn về khái niệm và chức năng của hai framework này.

Tuy nhiên, chúng vẫn tồn tại những điểm khác biệt. 

Flow xử lý 

Với Struts

Sự khác nhau giữa struts và JSF

Sự khác nhau giữa struts và JSF

  • ActionServlet nhận yêu cầu từ cộng đồng người dùng.
  • ActionServlet đi kèm với yêu cầu đường dẫn (path request) ứng với cài đặt file config Struts (tập tin cấu hình Struts) được ví dụ hoá. Mọi dữ liệu yêu cầu đều được set tại đây.
  • Tiến hành xác thực nếu cài đặt xác thực giá trị nhập

Với JSF

  • FacesServlet nhận yêu cầu từ khách hàng.
  • Cài đặt các dữ liệu yêu cầu trong thành phần giao diện người dùng (UI component) ứng với màn hình ban đầu.
  • Trong trường hợp có cài đặt xác thực giá trị input thì sẽ tiến hành xác thực.
  • Dữ liệu lưu trong UI component được sao chép sang BackingBean.

Sự chú trọng 

Struts chú trọng khá nhiều vào controller. Mọi việc như nhận yêu cầu từ khách hàng, kiểm tra validate, di chuyển màn hình ứng dụng,.. đều được tiến hành và xử lý tại controller.

JSF chú trọng nhiều hơn vào UI - giao diện người dùng. UI component phát triển trong JSF, áp dụng các kiến trúc có khả năng sử dụng lại và mở rộng cấu trúc màn hình như table, textbox, tree, button,...

Struts2 framework là gì? 

Struts2 framework là phiên bản tiếp theo của Struts1 và là bản nâng cấp hoàn chỉnh của kiến trúc Struts dựa trên mẫu thiết kế MVC để tạo ra các ứng dụng web. Nó là một sự kết hợp hoàn hảo giữa Webwork framework và Struts framework để dễ dàng hơn trong việc xây dựng và phát triển web.

Tính năng của Struts2 framework 

Dưới đây là một số những tính năng cơ bản của Struts2 framework:

Tính năng của Struts2 framework​

Tính năng của Struts2 framework​

  • Loại bỏ những form Action - thành phần không thể thiếu của Struts framework. Thay vào đó là khả năng sử dụng bất kỳ POJO có trong framework để nhận dữ liệu từ form hoặc làm lớp action.
  • Hỗ trợ tag: Các thẻ mới và thẻ form được cải tiến trong Struts2 giúp các nhà phát triển viết ít mã hơn.
  • Hỗ trợ AJAX: Tạo và tích hợp thẻ AJAX với chức năng giống thẻ Struts2 tiêu chuẩn.
  • Dễ dàng tích hợp: Việc tích hợp với các framework khác trở nên đơn giản và dễ dàng hơn nhiều với Struts2.
  • Ít cấu hình hơn: Với sự trợ giúp của việc sử dụng các giá trị mặc định cho các cài đặt khác nhau, Struts giúp bạn cấu hình ít hơn.
  • Công nghệ view: Hỗ trợ nhiều sự lựa chọn view.
  • Sửa, đổi thẻ dễ dàng: Nhờ việc sử dụng các mẫu freemaker mà các thẻ markups trong Struts2 dễ dàng được tinh chỉnh.

Hy vọng, với những thông tin hữu ích mà Bizfly đã đưa ra và chia sẻ cho bạn trong bài viết này, bạn đã có thể hiểu được Struts là gì và những kiến thức cơ bản nhất có liên quan đến framework này. Nếu còn gì chưa hiểu rõ hay muốn đóng góp thêm ý kiến cho bài viết, bạn hay liên hệ ngay với Bizfly hoặc để lại bình luận ngay phía dưới để được đáp nhận và trả lời một cách nhanh chóng.

BizWebsite - Ứng dụng công nghệ mới - Xử lý mọi vấn đề về bảo mật
Giải quyết các vấn đề về lỗ hổng bảo mật bằng công nghệ OWASP

Tư vấn miễn phí Tìm hiểu thêm

Chia sẻ bài viết

Nhận ngay tin tức mới nhất từ Bizfly

Nhận ngay tin tức mới nhất từ Bizfly