Какая технология имеет лучшие возможности рендеринга (представления) с помощью Java-сервлетов в бэк-энде? - PullRequest
2 голосов
/ 02 марта 2011

Я пытаюсь создать сайт, вроде поисковой системы. В серверной части у меня есть Java-сервлеты, которые обрабатывают запросы и возвращают ответы.

Я не уверен, что мне следует использовать для внешнего интерфейса, чтобы я мог полностью отключить внутренний и внешний интерфейс (или, насколько это возможно). Кроме того, какой из этих (или некоторых других) обладает наибольшим количеством возможностей. Несколько вариантов:

  • Шаблоны Freemarker
  • 1008 * JSP *
  • PHP

Пожалуйста, помогите мне; как я могу продолжить эту идею?

Ответы [ 3 ]

2 голосов
/ 02 марта 2011

Сервлет API не из коробки предлагает бесшовную интеграцию с PHP в качестве технологии просмотра.В PHP вам потребуется вызывать HTTP-запросы к сервлету с использованием curl и консорциумов или предоставлять сервлет в качестве веб-сервиса и использовать JS / Ajax для получения результатов из него в сгенерированном выводе PHP.Это может излишне оказаться слишком неуклюжим и дорогим.

Используйте представление на основе Java или технологию шаблонов.JSP - идеальный костюм, поскольку он идет рука об руку с сервлетами.Вы просто сохраняете результаты поиска в качестве атрибута запроса, перенаправляете запрос в JSP и затем используете taglibs / EL в JSP для его представления.

Если вам нужны дополнительные возможности шаблонов, например, повторное использование одного и того же шаблона для обоихВывод HTML или в каком-либо сообщении электронной почты, или для любой цели, которую вы хотите генерировать вывод программно без необходимости HTTP-запроса, тогда Freemarker - лучший выбор.

См. Также:

1 голос
/ 02 марта 2011

Обычный способ создания динамических веб-страниц в Java - это иметь сервлеты на сервере, который создает HTML, который отправляется в браузер.Такие технологии, как шаблоны JSP и Freemarker, разработаны как усовершенствования сервлетов, которые упрощают создание HTML.Страницы JSP будут скомпилированы в чистые сервлеты при их развертывании.

Если вы хотите отделить технологию, которая полностью создает html, от созданных вами сервлетов, то я бы остановился на статическом html и ajax.Вы должны создать свою систему следующим образом:

  1. Создание статических HTML-страниц с помощью JavaScript.Используйте библиотеку javascript, такую ​​как jquery.

  2. Создайте свои сервлеты, чтобы они принимали параметры и отвечали, используя данные в формате json.

  3. Напишите Javascript на ваших html-страницах, которые отправляют запросы к сервлетам и изменяют html-код на основе ответа.

1 голос
/ 02 марта 2011

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

PHP должен быть полностью разобщен, поскольку это отдельный язык.

Шаблоны Freemarker - я никогда не использовал этот продукт, поэтому не могу ничего порекомендовать.

Другим вариантом будет использование JavaScript / HTML для вашего просмотра.Сервлеты могут обрабатывать данные, а JavaScript может выполняться на стороне клиента и создавать представление.

Конечно, любой из ваших вариантов будет работать, это зависит от того, с какой технологией вы работаете, и каковы ваши временные рамки.Если вы находитесь на коротком временном интервале и уже знакомы с Java и сервлетами, значит, вы недалеки от того, чтобы просто использовать JSP для визуализации внешнего вида.Хотя я предпочитаю, чтобы серверная часть сервера использовала Jax-RS для передачи данных в виде JSON для внешнего интерфейса JavaScript.

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