Подтвердить что ты не робот

Основанные на Java компоненты на основе запросов

Недавно я спросил в интервью - В java, как вы сравниваете основы на основе компонентов для запросов на основе фреймворков? Я объяснил EJB как пример основы на основе компонентов и Struts в качестве основы, основанной на запросах, но не был убежден, если бы я ответил на этот вопрос.

Любые идеи о том, что имел в виду интервьюер и что должно было сравниться

С уважением, avajurug

4b9b3361

Ответ 1

Скорее всего, они искали примеры веб-фреймворков - например, JSF - это основанная на компонентах инфраструктура, а Struts - структура, основанная на запросах.

Основанные на запросах фреймворки обычно дают понять через свои API-интерфейсы, что они работают с разбором HTML-запроса/генерированием ответа HTML, в то время как основанные на компонентах фреймворки пытаются отвлечь это и рассматривать приложение как коллекции компонентов с помощью рендеринга и действия, чтобы что-то делать.

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

Ответ 2

Основанная на запросах фреймворк - это веб-инфраструктура, которая получает запрос пользователя, а затем определяет, что система должна делать и вернуть ответ пользователю. Таким образом, поток довольно линейный. Вы думаете о действиях: что хочет пользователь (запрос) → какой пользователь получит ответ (ответ). Пример структуры, основанной на запросе, Struts. Современная Grails в значительной степени основана на структуре, основанной на запросах.

Основанная на компонентах инфраструктура не такая. На самом деле нет четкого представления о потоке спереди назад. Примером этого является не JSF, потому что в некотором смысле JSF в значительной степени похож на Struts (поскольку создатель Struts и JSF является одна и та же). Хороший пример платформы на основе компонентов Tapestry и Wicket. Парадигма в этих двух рамках различна. Вы не думаете в действиях или запросе-ответе, а о компонентах и ​​компонентах. Вы определяете компонент в своем приложении и указываете, что делает этот компонент. Но поток не должен быть линейным, как в базе данных, основанной на запросах.

Ответ 3

JSF является java-интерфейсом на основе компонентов, так как Nate, Struts - это основанная на действии инфраструктура, запросы Http анализируются при обработке действий, в конце концов, сервлет передает запрос в JSP, который будет отвечать за создание ответ. Хотя в JSF, который стал стандартом для основанных на компонентах веб-фреймворков, на самом деле нет необходимости обрабатывать запросы и ответы, поскольку все, что нам нужно, это писать страницы JSP или XHTML, связывать компоненты, используемые на странице, или значение, которое они должны отображать для свойств в фоновом режиме beans или управляемом beans, а FacesServlet (контроллер) выполняет всю работу по уходу за обработкой запроса и перенаправлению на JSP, который будет отображать ответ на основе правил навигации, указанных в faces-config.xml. Итак, вы видите, что между Struts и JSF существует большая разница, поскольку JSF использует подход, основанный на компонентах, а Struts более близок к классической модели JSP/Servlet. Другое дело, что jpartogi сказал, что создатель JSF и struts один и тот же, я просто хочу упомянуть, что Struts - это фреймворк, принадлежащий сообществу Apache, а JSF - это API, указанный JCP в JSR-127 для версий 1.1 и JSR-252 для версии 1.2 и имеет разные реализации (SUN-RI, Apache MyFaces...)

Ответ 4

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