2011-12-20 37 views
5

Đây thực sự là một câu hỏi chung.Spring MVC Struts Mixing

Tôi có một webapp thương mại điện tử mà tôi đã xây dựng solo khoảng 4 năm trước. Vào thời điểm đó, tôi đã quyết định sử dụng Struts làm khuôn khổ mvc của mình. Qua nhiều năm làm việc cho các dự án khác, tôi đã cảm kích và cảm thấy thoải mái hơn nhiều với bộ tính năng và tính linh hoạt do Spring MVC cung cấp.

Lớp dịch vụ chắc chắn và được xây dựng bằng khung lò xo.

Tôi muốn cấu trúc lại lớp web hiện tại của mình để sử dụng Spring MVC. Nhưng như tôi đã đề cập trước đó, tôi đã viết ứng dụng solo và nó là một dự án phụ. Vấn đề là tôi không có thời gian, tôi cũng không muốn mạo hiểm vứt bỏ và hoàn toàn tái cấu trúc lớp web từ đầu.

Vì vậy, tôi hỏi cộng đồng về chiến lược của họ sẽ là gì cho nỗ lực tái cấu trúc này?

Lý tưởng nhất, tôi muốn giải quyết từng phần một và cuối cùng là kết hợp hai công nghệ cho đến khi tôi có thể tắt hoàn toàn Struts.

Tất cả chức năng mới cho trang web của tôi sẽ được phát triển tốt nhất trong Spring MVC.

Điều tốt là các chế độ xem hiện tại của tôi, hiện đang sử dụng lát apache, sẽ không phải thay đổi nhiều, ngoại trừ việc xóa thư viện thẻ struts và thay thế chúng bằng Spring MVC.

Một yêu cầu tôi muốn giữ là URL của không nên thay đổi.

Nói cách khác, ActionServlet và DispatcherServlet sẽ phải ánh xạ tới các đường dẫn riêng biệt nhưng bằng cách nào đó, hãy thực hiện các triển khai khác nhau.

Ví dụ: làm cách nào tôi có thể nói mysite.com/show-product ánh xạ tới servlet Spring Dispatcher, nhưng mysite.com/show-category ánh xạ tới servlet hành động Struts.

Suy nghĩ của bạn được đánh giá cao.

Trả lời

1

Bạn có thể chạy cả hai trong cùng một vùng chứa với ánh xạ phù hợp.

Tôi không hiểu câu hỏi "Tôi có nên chuyển đổi các lớp hành động thành bộ điều khiển lò xo một lần" không, bạn sẽ làm như thế nào?

Cho dù lớp hành động nên ánh xạ tới một phương thức của bộ điều khiển có liên quan đến tổ chức ứng dụng hiện tại của bạn hơn bất kỳ thứ gì khác hoặc ít nhất cách bạn muốn tổ chức ứng dụng Spring.

+0

Vâng, tôi hiểu quan điểm của bạn về việc chuyển đổi các lớp học hành động để mùa xuân điều khiển, tôi đoán rằng thực sự không có ý nghĩa ... Tôi xin lỗi vì sự nhầm lẫn ... Đối với việc chạy chúng trong cùng một container, nếu tôi có yêu cầu URL không nên thay đổi ... Không có cách nào xung quanh nó phải không? Nói cách khác, ActionServlet và DispatcherServlet sẽ phải ánh xạ tới các đường dẫn riêng biệt phải không? Tôi sẽ phải có một cái gì đó liên kết http://www.mysite.com/show-product (struts) và www.mysite.com/2.0/show-product (spring mvc) phải không? –

+0

@RoyKachouh Phụ thuộc; nó làm cho nó có vấn đề hơn trong đó bạn cần phải chọn lọc vô hiệu hóa xử lý yêu cầu S2. Điều này là có thể từ S2.1.mumble trên. Bạn có thể có thể làm hỏng một bộ lọc tùy chỉnh, hoặc sử dụng một máy đánh chặn là tốt, mặc dù tôi không chắc chắn những gì các cơ chế đánh chặn sẽ được w/o suy nghĩ về nó một số. –

+0

bạn có thể tìm thấy một số giải pháp cho nó? – abhi