JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
1. Struts Framework là gì ?Struts là một framework phục vụ việc phát triển các ứng dụng Web trên Java. Sử dụng mẫu thiết kế Model-View-Controller (MVC), Struts giải quyết rất nhiều các vấn đề liên quan đến các ứng dụng Web hướng business đòi hỏi hiệu năng cao sử dụng Java servlet và JSP. Struts cơ bản định hình lại cách các Web programmer nghĩ về và cấu trúc một ứng dụng Web.Structs được phát triển bởi Craig McClanahan và được bão trợ bởi Apache, nhóm Jakarta2. Các kiến trúc lập trìnha. Kiến trúc truyền thống (Còn gọi là mô hình 1 – Model 1).Kiến trúc Model 1 hết sức đơn giản. Tóm lại là tất cả mọi thứ đều được gói gọn trong Servlet hoặc JSP từ việc xử lý request, xác nhận tính hợp lệ của dữ liệu, điều quản business logic và generate response. Mặc dù về khái niệm hết sức đơn giản, kiến trúc này không phù hợp cho việc phát triển các ứng dụng quy mô lớn vì chắc chắn một số lượng lớn các tính năng sẽ bị lặp lại trong các trang JSP (lặp lại code). Cũng vậy, kiến trúc Model 1 tạo nên sự ràng buộc không cần thiết giữa business logic và presentation logic của ứng dụng. Ví dụ, ngoài giao diện HTML, bạn có thể muốn thêm một giao diện WML cho truy nhập wireless. Trong trường hợp này, việc sử dụng Model 1 yêu cầu sự lặp lại không cần thiết của business logic trong các trang sử dụng HTML và WML.b. Kiến trúc MVC (Còn gọi là mô hình 2 – Model 2)Model 2, hay cách gọi thông dụng ngày nay, Model-View-Controller (MVC), giải quyết nhiều vấn đề của Model 1 với việc cung cấp một sự phân tách rõ ràng trong ứng dụng. Trong kiến trúc MVC, một Servlet trung tâm, được gọi là Controller, tiếp nhận tất cả các request cho ứng dụng. Sau đó Controller sẽ xử lý request và làm việc với Model để chuẩn bị những dữ liệu cần thiết cho View (thường là JSP) và forward dữ liệu tới trang JSP. Sau đó JSP sử dụng các dữ liệu đã được chuẩn bị bởi Controller để generate một response về cho browser. Trong kiến trúc này, business logic và presentation logic được phân tách nhau. Việc tách business code và presentation code giúp ta có thể sử dụng nhiều giao diện cho ứng dụng, chúng có thể là Web, wireless hay GUI.
Xem thêm: ” Unfortunately Là Gì, Nghĩa Của Từ Unfortunately, Unfortunately Nghĩa Là Gì Trong Tiếng Anh
Xem thêm: Phần Mở Rộng Tệp Wmf Là Gì ? Phần Mềm & Cách Mở File Wmf Là File Gì
Thêm vào đó, việc phân tách này còn cung cấp việc tái sử dụng lại code một cách hòan hảo.Có một điều khá lý thú ở đây là tôi đã từng cho rằng việc trong một ứng dụng Web có thể có nhiều Controller thì ứng dụng đó cũng sử dụng MVC. Có nghĩa là cứ một view component ta sẽ có một Controller cho nó. Tuy nhiên điều này là hòan tòan sai với mẫu thiết kế MVC.3. Tìm hiểu các thành phần của MVC (Model-View-Controller)a. Model componentTrong kiến trúc MVC, các model component cung cấp một giao diện với dữ liệu và/hoặc các dịch vụ được sử dụng bởi ứng dụng. Theo cách này, các controller component không cần phải chứa code để thao tác với dữ liệu của ứng dụng. Thay vào đó, chúng giao tiếp với các model component để thực hiện truy cập và thao tác dữ liệu. Như vậy, các model component cung cấp business logic. Các model component có thể ở nhiều dạng từ các Java bean đến các EJB hay các Web service.b. View componentCác view component được sử dụng trong kiến trúc MVC để generate response về browser. Như vậy một view component cung cấp những gì mà user nhìn thấy. Thường thì các view component là các trang JSP hay HTML đơn giản. Tuy nhiên, các view component cũng có thể sử dụng WML hay các công nghệ khác. Đây là một ưu điểm thiết kế chính của MVC. Bạn có thể sử dụng bất kỳ công nghệ hiển thị nào mà không sợ tác động đến lớp Model của ứng dụng.c. Controller componentỞ trung tâm của kiến trúc MVC là các controller component. Controller thường là một Servlet tiếp nhận các request cho ứng dụng và quản lý luồng dữ liệu giữa lớp Model và lớp View. Như vậy, nó điều khiển cách mà các lớp Model và View tương tác. Controller thường sử dụng các helper class để chuyển điều khiển qua các request hay tiến trình xác định.