Веб-скрипты для Java

Как лучше всего отображать данные, созданные процессом Java, в браузере?

Я широко использовал JSP и различные связанные с ним фреймворки (JSTL, Стойки, Гобелен и т. д.), А также более полные фреймворки, не связанные с JSP (GWT, OpenLaszlo). Ни одно из решений никогда не было полностью удовлетворительным - в большинстве случаев фреймворк слишком ограничен или слишком сложен для моих нужд, в то время как другие потребуют обширного рефакторинга существующего кода. Вдобавок у большинства фреймворков есть проблемы с производительностью.

В настоящее время я склоняюсь к решению раскрытия моих данных java с помощью простого сервлета, который возвращает JSON, а затем рендеринга данных с помощью PHP или Ruby. У этого есть дополнительное преимущество, заключающееся в том, что я мгновенно представляю мою службу как веб-службу, но мне интересно, изобретаю ли я здесь колесо.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
341
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Возможно, вы могли бы сгенерировать данные в формате XML и отобразить их с помощью XSLT?

Я не уверен, что PHP или Ruby - это ответ, если Java для вас недостаточно быстр!

Мы используем Полосы. Он дает вам больше структуры, чем обычные сервлеты, но позволяет вам управлять своими URL-адресами с помощью аннотации @UrlBinding. Мы используем его для потоковой передачи xml и json обратно в браузер для материалов ajax.

Вы можете легко использовать его с другой технологией, если хотите пойти по этому пути, но на самом деле вам может понравиться разработка с использованием полос.

Ознакомьтесь с Рестлет, чтобы получить хорошую основу для представления модели вашей предметной области в виде служб REST (включая JSON и простой вывод XML).

Может быть, для предоставления вашей информации вы можете использовать GWT на стороне клиента и использовать свои сервисы данных? Если GWT не поддерживает вашу лодку, то, может быть, это сделает JQuery?

Ответ принят как подходящий

Я лично использую Гобелен 5 для создания веб-страниц с помощью Java, но я согласен, что иногда это может быть немного излишним. Я бы посмотрел на использование JAX-RS (проект java.net, jsr311), он довольно прост в использовании, он поддерживает маршалинг и демаршалинг объектов в / из XML из коробки. Его можно расширить для поддержки JSON через Jettison.

Я пробовал две реализации:

  • Джерси - эталонная реализация для JAX-RS.
  • Resteasy - реализация, которую я предпочитаю, хорошая поддержка маршаллинга и демаршаллинга широкого диапазона форматов. Также довольно стабильный и имеет больше функций, чем Джерси.

Взгляните на следующий код, чтобы понять, что JAX-RS может для вас сделать:

@Path("/")
class TestClass {
    @GET
    @Path("text")
    @Produces("text/plain")
    String getText() {
        return "String value";
    }
}

Этот крошечный класс откроет себя в корне сервера (@Path в классе), затем предоставит метод getText () в URI / тексте и разрешит доступ к нему через HTTP GET. Аннотация @Produces сообщает платформе JAX-RS, что нужно попытаться преобразовать результат метода в простой текст.

Самый простой способ узнать о возможностях JAX-RS - прочитать Технические характеристики.

Другие вопросы по теме