Tôi đang nghĩ về việc phát triển một ứng dụng web mới bằng cách sử dụng các thành phần "nhẹ" chứ không phải khung công tác ngăn xếp đầy đủ.Ngăn xếp web Java nhẹ bằng Guice-servlet/Jetty/Jersey - một số câu hỏi
This article là nguồn cảm hứng chính của tôi!
Cầu cảng: Máy chủ web. Có lẽ tôi sẽ sử dụng một phiên bản nhúng để phát triển nhưng với một tùy chọn để xuất ứng dụng dưới dạng .war và sử dụng một máy chủ Jetty bên ngoài cho môi trường sản xuất.
Guice/Guice-Servlet: Dành cho tiêm phụ thuộc và cho bản đồ servlet + bộ lọc.
Jersey: Đối với serialization + request/response json (de) khi được yêu cầu.
Một lưu ý quan trọng: Tôi biết một số người sẽ sử dụng loại stack với Jersey là một dịch vụ web lớp chỉ, và sẽ sử dụng một khuôn khổ Javascript (Backbone, AngularJS, vv) để tiêu thụ những dịch vụ và thực hiện hầu hết logic trình bày trong Javascript. Tôi chưa sẵn sàng cho loại công cụ khách hàng này. Tôi vẫn sẵn sàng sử dụng JSP và có thể gửi HTML đơn giản cho các khách hàng đã tắt javascript.
Vì vậy, câu hỏi của tôi:
cách tốt nhất để quản lý hình thức sử dụng Jersey là gì? Với Spring MVC (mà tôi đã sử dụng trên các dự án khác), khái niệm "đối tượng sao lưu" nơi dữ liệu POST được gửi sẽ tự động được liên kết với đối tượng sao lưu sau đó dễ chơi. Có cái gì đó tương tự với Jersey?
Tôi thích tất cả các tuyến đường của mình được xác định trong một tệp tuyến đường cụ thể, không phải ở mọi nơi như chú thích @Path, theo ý kiến của tôi, khó quản lý hơn. Tôi khá chắc chắn Jersey yêu cầu sử dụng các chú thích @Path của JAX-RS được mã hóa cứng và không cho phép một hệ thống cấu hình tuyến đường bên ngoài, điều đó có đúng không? Bạn có thấy bất kỳ cách nào tôi có thể tập trung tất cả các tuyến đường với Jersey sau đó?
Tôi thích khái niệm về định tuyến ngược (ví dụ như khung chơi cung cấp). Và, một lần nữa, tôi không nghĩ Jersey có thể cung cấp chức năng đó, đúng không?
Xem xét các câu hỏi trước đây của tôi, có thể Jersey không phải là công nghệ phù hợp để sử dụng? Bạn có biết các thư viện khác mà tôi có thể sử dụng cho phần định tuyến trong ngăn xếp của tôi không?
Bất kỳ đề xuất/mẹo nào khác cho loại ngăn xếp web Java nhẹ này?
UPDATE:
tôi đang nhìn vào UrlRewriteFilter cho phần định tuyến.
Tôi cũng đang xem ActiveWeb framework, đây là khung công tác "đầy đủ ngăn xếp", nhưng có vẻ như cung cấp một số chức năng mà tôi đang tìm kiếm: cấu hình định tuyến tập trung và định tuyến ngược.
Bạn có thể thấy DropWizard thú vị: http://dropwizard.codahale.com/getting-started/ –
Vâng, tôi đã nhìn thấy (và đánh dấu trang!) DropWizard và thực sự nó thú vị. Đó là khá nhiều loại ngăn xếp tôi muốn sử dụng. Nhưng những câu hỏi tôi hỏi ở đây vẫn hợp lệ, có hoặc không có DropWizard! Ngoài ra, DropWizard dường như không tích hợp một thư viện tiêm phụ thuộc ra khỏi hộp (tôi thấy có một [add-on cho Guice] (https://github.com/jaredstehler/dropwizard-guice) mặc dù)? – electrotype
tại sao bạn cần Guice? Servlet 3.0 có đủ không? – keuleJ