Struts 2 - Kiến trúc
Từ cấp độ cao, Struts2 là một khung pull-MVC (hoặc MVC2). Mẫu Model-ViewController trong Struts2 được triển khai với năm thành phần cốt lõi sau:
- Actions
- Interceptors
- Giá trị Stack / OGNL
- Kết quả / Loại kết quả
- Xem công nghệ
Struts 2 hơi khác so với khung MVC truyền thống, trong đó hành động đóng vai trò của mô hình hơn là bộ điều khiển, mặc dù có một số chồng chéo.
Sơ đồ trên mô tả Model, View và Controller tới kiến trúc cấp cao Struts2. Bộ điều khiển được thực hiện vớiStruts2bộ lọc servlet gửi cũng như các bộ chặn, mô hình này được thực hiện với các hành động và chế độ xem là sự kết hợp của các loại kết quả và kết quả. Ngăn xếp giá trị và OGNL cung cấp luồng chung, liên kết và cho phép tích hợp giữa các thành phần khác.
Ngoài các thành phần trên, sẽ có rất nhiều thông tin liên quan đến cấu hình. Cấu hình cho ứng dụng web, cũng như cấu hình cho các hành động, bộ chặn, kết quả, v.v.
Đây là tổng quan kiến trúc của Struts 2 MVC pattern. Chúng ta sẽ đi qua từng thành phần chi tiết hơn trong các chương tiếp theo.
Yêu cầu vòng đời
Dựa trên sơ đồ trên, bạn có thể hiểu quy trình công việc thông qua vòng đời yêu cầu của người dùng trong Struts 2 như sau -
Người dùng gửi yêu cầu đến máy chủ để yêu cầu một số tài nguyên (tức là các trang).
Người điều phối bộ lọc xem xét yêu cầu và sau đó xác định Hành động thích hợp.
Các chức năng đánh chặn đã định cấu hình áp dụng như xác thực, tải tệp lên, v.v.
Hành động đã chọn được thực hiện dựa trên thao tác được yêu cầu.
Một lần nữa, các bộ đánh chặn đã được định cấu hình được áp dụng để thực hiện bất kỳ quá trình xử lý hậu kỳ nào nếu được yêu cầu.
Cuối cùng, kết quả được chuẩn bị bởi khung nhìn và trả kết quả cho người dùng.