Vai trò của Spring và Struts trong một WebApplication tích hợp cả 2 framework?

Chào anh, chị.
Hiện tại em đang học về Spring và Struts. Cho em hỏi tại sao lại phải tích hợp 2 framework vào với nhau khi mà mỗi cái đều có thể làm được 1 Webapp hoàn chỉnh. Và nếu tích hợp vào thì vai trò của mỗi cái là gì ? (Ví dụ như hibernate thì dùng để truy xuất database)

Em cảm ơn mọi người.

Hi bạn.

Struts/Struts2 là framwork web MVC nó sinh ra để phát triển webap
Spring nếu bạn chỉ nói spring framework thì sẽ quá chung chung vì trong spring có rất nhiều phần khác nhau, vd: Spring Security. Spring boot. v.v. Và phần mà để xây dựng web trong spring là Spring MVC.

Vì core của Spring thiếp kế rất tốt nên rất nhiều các framwork xây dựng webap như Struts2 hay JSF đều có thể kết hợp với spring để quản lý web tốt hơn. vd như tính năng phân quyền trong web chẳng hản. bạn có thể tự làm hoặc sử dụng spring security. Hoặc việc kết nối DB. muốn start - stop transaction bằng tay hoặc spring sẽ làm tự động làm cho bạn việc đó v.v

2 Likes

Dạ em cảm ơn vì câu trả lời của a.

Cho em hỏi thêm đó là: Struts thiết kế Web theo mô hình MVC và Spring thì có Spring MVC cũng theo mô hình đó. Vậy thì trong một WebApp thì chỉ sử dụng một trong hai cái Struts hoặc Spring MVC thôi phải không a? Còn lúc tích hợp thì ta sẽ sử dụng Struts với các thành phần khác của Spring như là Spring Security, Spring Transaction, Spring Core …

Và bây giờ em muốn làm một project login tích hợp cả struts và spring thì vai trò của mỗi cái trong project này sẽ như thế nào ạ?

Nói riêng về Struts và Spring MVC. Về mặt kỹ thuật vẫn có thể cấu hình cho 2 cái đó cùng chạy trong một webapp nhưng rất khó kiểm soát vì nổi thằng có cách tổ chức các page, resources, và các class java khác nhau nên rất dễ bị chồng chéo vào nhau. nên dùng thuần 1 cái để dễ kiểm soát.

struts xây dựng cấu trúc các page, các class java. resources. Vai trò chính sẽ là xây tạo ra một khung web hoàn chỉnh. gồm các page có giao diện. các function bắt request từ client gửi lên server. v.v

về quản lý quyền người dùng trong webapp của em. bao gồm phân quyền người nào, có role gì vào được màn hình nào. quản lý chứng thực login. em có thể dùng Spring Security. Còn nếu cần thêm các tính năng gì của spring thì e có thể lên trang chủ của spring tìm hiểu.

1 Like

Em hiểu rồi ạ. Cảm ơn anh.

  • Struts 2, JSF, Tapestry (and Wicket, Spring MVC, Stripes) are presentation frameworks. If you use one of them, you don’t use another.
  • Hibernate is a persistence framework and is used to persist Java objects in a relational database.
  • Spring can be used to wire all this together and to provide declarative transaction management.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?