Я думаю о разработке нового веб-приложения с использованием «легких» компонентов, а не с полной структурой стека.
Эта статья — мое главное вдохновение!
Jetty: веб-сервер. Я, вероятно, буду использовать встраиваемую версию для разработки, но с возможностью экспортировать приложение как .war и использовать внешний сервер Jetty для производственной среды.
Guice/Guice-Servlet: для внедрения зависимостей и сопоставления сервлетов + фильтры.
Джерси: для маршрутизации + запроса/ответа json (де)сериализации, когда это необходимо.
Важное примечание: я знаю, что некоторые люди будут использовать этот тип стека с Джерси только как уровень веб-служб и будут использовать среду Javascript (Backbone, AngularJS и т. д.) для использования этих служб. и сделать большую часть логики представления в Javascript. Я еще не готов к такого рода клиентским вещам. Я по-прежнему предпочитаю использовать JSP и могу отправлять обычный HTML клиентам, у которых отключен javascript.
Итак, мои вопросы:
Как лучше всего управлять формами с помощью Джерси? В Spring MVC (который я использовал в других проектах) существует концепция «резервных объектов», когда отправленные данные POST автоматически привязываются к резервному объекту, с которым затем легко играть. Есть ли что-то подобное с Джерси?
Мне нравится, чтобы все мои маршруты определялись в одном конкретном файле маршрутов, а не везде в виде аннотаций @Path, которыми, на мой взгляд, сложнее управлять. Я почти уверен, что Джерси требует использования этих жестко запрограммированных аннотаций JAX-RS @Path и не допускает систему конфигурации внешних маршрутов, это правильно? Вы не видите, как я мог бы централизовать все маршруты с Джерси?
Мне нравится концепция обратной маршрутизации (как, например, в Play framework). И, опять же, я не думаю, что Джерси может обеспечить такую функциональность, верно?
Учитывая мои предыдущие вопросы, может быть, Джерси не подходит для использования? Знаете ли вы другие библиотеки, которые я мог бы использовать для части маршрутизации в моем стеке?
Любые другие предложения/советы для такого легкого веб-стека Java?
ОБНОВЛЕНИЕ:
В настоящее время я просматриваю UrlRewriteFilter для части маршрутизации.
Я также рассматриваю инфраструктуру ActiveWeb, которая представляет собой инфраструктуру полного стека, но кажется легким, а также, кажется, предоставляет некоторые функции, которые я ищу: централизованная конфигурация маршрутизации и обратная маршрутизация.