Sự khác biệt giữa Struts và Spring MVC

Anonim

Struts với Spring MVC

Struts là một trong những khung ứng dụng web ban đầu để phát triển các ứng dụng web Java EE. Spring là một khuôn khổ ứng dụng mã nguồn mở. Một thời gian sau khi giới thiệu Spring framework, các nhà phát triển thêm một framework MVC vào khung Spring, với hy vọng giải quyết một số hạn chế mà họ nhận ra trong Struts. Nhưng vài năm sau đó, Struts2 (hoặc Struts phiên bản 2) đã đến, và nó hoàn toàn khác và cải tiến rất nhiều ứng dụng web framework. Bây giờ, cả Struts và Spring MVC đang được sử dụng rất mạnh để phát triển các ứng dụng Java EE trên thế giới.

Struts là gì?

Struts (còn được gọi là Apache Struts) là một khuôn khổ mã nguồn mở nền tảng được viết bằng Java, nó được dùng để phát triển các ứng dụng web Java EE. Struts khuyến khích sử dụng kiến ​​trúc MVC (Model-View-Controller). Nó là một mở rộng của Java Servlet API. Craig McClanahan là người sáng tạo ban đầu của Struts. Ban đầu nó được gọi là Jakaratha Struts, và được duy trì dưới dự án Jakarta của Apache Software Foundation. Bản phát hành ổn định hiện tại của nó là phiên bản 2. 2. 3, được phát hành vào tháng 5 năm 2011. Nó được phát hành dưới giấy phép Apache 2. 0. Khung Struts được gọi là khuôn khổ dựa trên yêu cầu, và nó được tạo thành từ ba thành phần chính: trình xử lý yêu cầu, trình xử lý phản hồi và thư viện thẻ. Standard URI (Uniform Resource Identifier) ​​được ánh xạ tới trình xử lý yêu cầu. Trình xử lý sự cố có trách nhiệm truyền kiểm soát. Để tạo các ứng dụng tương tác với các biểu mẫu, các tính năng được cung cấp bởi thư viện thẻ có thể được sử dụng. Struts hỗ trợ các ứng dụng REST và các công nghệ khác nhau như SOAP, AJAX, vv

Spring MVC là gì?

Spring là một khuôn khổ ứng dụng nguồn mở. Nó được phát triển bởi Rod Johnson, và phiên bản đầu tiên đã được phát hành vào năm 2004. Mùa xuân 3. 0. 5 là phiên bản hiện tại của khuôn khổ Spring. Nó được cấp phép theo giấy phép Apache 2. 0. Bất kỳ ứng dụng Java nào cũng có thể sử dụng các tính năng cốt lõi của khung công tác Spring. Có một số mô-đun trong khuôn khổ Spring, và MVC là một trong số đó. Khung Spring MVC không phải là một phần của kế hoạch ban đầu của họ. Thực tế, lý do khiến các nhà phát triển Spring đưa ra khung MVC của họ là cung cấp các giải pháp cho những gì họ cho là thiếu sót trong Struts (phiên bản 1) và các khuôn khổ tương tự khác. Cụ thể, họ nói rằng họ muốn giải quyết sự thiếu hụt giữa lớp trình bày, lớp xử lý yêu cầu, và mô hình. Spring MVC cũng là một khung ứng dụng web dựa trên yêu cầu.

Sự khác biệt giữa Struts và Spring MVC là gì?

Mặc dù Spring MVC và Struts là hai khuôn khổ ứng dụng web phổ biến được sử dụng để phát triển các ứng dụng web Java EE, nhưng chúng có sự khác biệt.Thực tế, Spring MVC đã được phát triển để giải quyết một vài hạn chế trong Struts (phiên bản 1). Tuy nhiên, Struts2 là một khuôn khổ được cải tiến rất cao so với phiên bản 1 (thậm chí không chia sẻ cùng một cơ sở mã), và do đó, Spring MVC và Structs2 rất có thể so sánh được.

Một trong những ưu điểm chính của Spring MVC là nó có thể tích hợp liền mạch với nhiều tùy chọn xem như JSP / JSTL, Tiles, FreeMaker, Excel, PDF và JSON. Tuy nhiên, không giống như Struts, Spring MVC không cung cấp hỗ trợ AJAX tích hợp (cần phải sử dụng thư viện AJAX của bên thứ ba).

Cuối cùng, cả hai đều được coi là các khuôn khổ trưởng thành cao, và lựa chọn giữa hai đi xuống đến sở thích cá nhân. Điều quan trọng cần lưu ý ở đây là nếu có bất kỳ cảm xúc tiêu cực nào đối với thanh chống, chúng chỉ là do những thiếu sót được tìm thấy trong Struts phiên bản 1 (hiện nay được xem là lỗi thời).