Веб-скриптинг для Java - PullRequest
       10

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

0 голосов
/ 17 сентября 2008

Каков хороший способ визуализации данных, созданных процессом Java в браузере?

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

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

Ответы [ 4 ]

2 голосов
/ 18 сентября 2008

Лично я использую Tapestry 5 для создания веб-страниц с Java, но я согласен, что иногда это может быть немного излишним. Я хотел бы изучить использование JAX-RS ( java.net project , 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 / text и разрешит доступ к нему через HTTP GET. Аннотация @Produces указывает платформе JAX-RS попытаться преобразовать результат метода в простой текст.

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

1 голос
/ 17 сентября 2008

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

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

1 голос
/ 17 сентября 2008

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

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

0 голосов
/ 17 сентября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...