Действительно ли возможно использовать JAX-RS в качестве веб-платформы?

Я изучал JAX-RS в последнее время, потому что мне действительно нравятся платформа Java и УСПОКОИТЕЛЬНЫЙ стиль веб-разработки. Я читал много об использовании JAX-RS для создания УСПОКОИТЕЛЬНЫХ веб-сервисов, но действительно ли возможно использовать JAX-RS для создания УСПОКОИТЕЛЬНЫХ веб-сайтов? Я предполагаю более конкретно, действительно ли возможно использовать JAX-RS в качестве контроллера (для получения требуемых данных из сервера) и затем передний привод к механизму представления для рендеринга соответствующего HTML?

Я гуглил вокруг, но не нашел ресурсов, которые показывают Вам, как сделать это.

Спасибо за любое понимание/справку.

8
задан Brian DiCasa 14 July 2010 в 00:19
поделиться

3 ответа

Я думаю, у вас возникли трудности с поиском в Google, потому что немногие люди этим занимаются. JAX-RS был разработан для веб-сервисов, поэтому разработчики не думают использовать его в качестве контроллера для веб-приложений. Однако нет никаких причин, по которым это не сработает.

Посмотрите это сообщение в блоге: JAX-RS как единственная веб-среда Java, которая управляет ими всеми?

Я думаю, что это именно то, что вы ищете.

6
ответ дан 5 December 2019 в 14:00
поделиться

Дбырне прав в том, что этим почти никто не занимается. Обычно для вывода информации в JSON или XML используется JAX-RS. Затем вы представляете себе веб-браузер с фреймворком RIA (например, Ext JS ), который обрабатывает манипуляции с DOM и ввод данных, как они были получены в форме JSON / XML. Это мощный подход. Вы можете написать для службы несколько клиентов, возможно, не являющихся браузером, и все они будут анализировать один и тот же JSON / XML. Вы можете писать «одностраничные» веб-приложения, в которых весь обмен информацией происходит через AJAX после начальной загрузки страницы. Я призываю вас изучить и рассмотреть его сильные и слабые стороны в контексте вашей конкретной проблемы.

Возвращаясь к вашему вопросу: ответ - «вроде как». Эта функциональность не предоставляется напрямую спецификацией JAX-RS (начиная с версии 1.1). Однако в эталонной реализации JAX-RS Jersey он равен через объект ответа Viewable . См. Это сообщение в блоге, если вы хотите продолжить расследование: http://blogs.oracle.com/sandoz/entry/mvcj . Хочу отметить, что у меня нет опыта работы с этой стороной Джерси. Было приятно писать веб-службы, возвращающие XML / JSON, с помощью Джерси, но я не могу говорить об этом бизнесе по созданию шаблонов HTML на стороне сервера.

Изменить : dbyrne отредактировал свой ответ, включив в него сообщение в блоге, указывающее на упомянутый выше. Думаю, мы оба пришли примерно к одному ответу.

3
ответ дан 5 December 2019 в 14:00
поделиться

Если вы действительно хотите полагаться только на JAX-RS для вашего веб-фреймворка, Jersey может быть вашим лучшим выбором. Имейте в виду, что возможности, которые вы получите от него, будут минимальными, и вы, очевидно, не получите все колокольчики и свистки, как в JSF, Wicket и т.д.

Если вы знаете, что ваше веб-приложение будет полагаться на Spring, возможно, вам стоит рассмотреть возможность использования Spring MVC 3.0. Он обеспечивает схожие с restful веб-сервисы и предоставляет вам лучшие возможности, так что вам не придется реализовывать большинство из них самостоятельно. Конечно, Spring MVC 3.0 не является реализацией JAX-RS, и, судя по тому, что сказал разработчик Spring, похоже, что они никогда не сделают Spring MVC реализацией JAX-RS, поскольку уже существует довольно много стабильных реализаций. Тем не менее, синтаксис, на мой взгляд, довольно схож, или, по крайней мере, я смог понять их довольно быстро, несмотря на то, что я использую Jersey уже довольно давно.

3
ответ дан 5 December 2019 в 14:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: