java - уроки - jsp устарел




В чем разница между JSF, Servlet и JSP? (10)

Как JSP и Servlet связаны друг с другом? Является ли JSP сервлетом? Как JSP и JSF связаны друг с другом? Является ли JSF каким-то предварительным созданием JSP, подобным ASP.NET-MVC?


Сервлеты:

API-интерфейс Java Servlet позволяет разработчикам Java писать серверный код для доставки динамического веб-контента. Как и другие проприетарные API-интерфейсы веб-серверов, API-интерфейс Java Servlet предлагает улучшенную производительность по сравнению с CGI; однако он имеет некоторые ключевые дополнительные преимущества. Поскольку сервлеты были закодированы на Java, они обеспечивают объектно-ориентированный подход (OO) и, что более важно, могут работать на любой платформе. Таким образом, тот же код был переносимым на любой хост, поддерживающий Java. Сервлеты в значительной степени способствовали популярности Java, поскольку она стала широко используемой технологией для разработки веб-приложений на стороне сервера.

JSP:

JSP построен поверх сервлетов и обеспечивает более простое, основанное на странице решение для создания большого количества динамического содержимого HTML для пользовательских веб-интерфейсов. JavaServer Pages позволяет веб-разработчикам и дизайнерам просто редактировать HTML-страницы со специальными тегами для динамических частей Java. JavaServer Pages работает, имея специальный сервлет, известный как контейнер JSP, который установлен на веб-сервере и обрабатывает все запросы просмотра страниц JSP. Контейнер JSP преобразует запрошенный JSP в код сервлета, который затем скомпилирован и немедленно выполняется. Последующие запросы на одну страницу просто вызовут сервлет выполнения для страницы. Если в JSP внесено изменение на сервер, запрос на его просмотр вызывает другой перевод, компиляцию и перезапуск сервлета выполнения.

JSF:

JavaServer Faces - стандартная платформа Java для создания пользовательских интерфейсов для веб-приложений. Самое главное, это упрощает разработку пользовательского интерфейса, который часто является одной из наиболее сложных и утомительных частей разработки веб-приложений.
Хотя возможно создание пользовательских интерфейсов с использованием основанных веб-технологий Java (таких как сервлеты Java и страниц JavaServer) без всесторонней структуры, предназначенной для разработки корпоративного веб-приложения, эти основные технологии часто могут приводить к проблемам, связанным с развитием и обслуживанием. Что еще более важно, к тому времени, когда разработчики достигнут решения по качеству производства, тот же набор проблем, решаемых JSF, будет решен нестандартным образом. JavaServer Faces предназначен для упрощения разработки пользовательских интерфейсов для веб-приложений Java следующими способами:
• Он обеспечивает компонентный, независимый от клиента подход к разработке для создания пользовательских интерфейсов Web, что повышает производительность и простоту использования.
• Он упрощает доступ и управление данными приложения из пользовательского интерфейса Web.
• Он автоматически управляет состоянием пользовательского интерфейса между несколькими запросами и несколькими клиентами простым и ненавязчивым образом.
• Он предоставляет инфраструктуру разработки, которая является дружественной для разнообразной аудитории разработчиков с различными наборами навыков.
• Он описывает стандартный набор архитектурных шаблонов для веб-приложения.

[ Источник: Полная ссылка: JSF ]


JSP (страницы JavaServer)

JSP - это технология просмотра Java, работающая на серверной машине, которая позволяет вам писать текст шаблона на клиентских языках (например, HTML, CSS, JavaScript и т. Д.). JSP поддерживает taglibs , которые поддерживаются кусками кода Java, которые позволяют управлять потоком страницы или динамически выводить. Известным taglib является JSTL . JSP также поддерживает язык выражений , который может использоваться для доступа к базовым данным (через атрибуты, доступные на странице, в запросе, в сеансах и в приложениях), в основном в сочетании с taglib.

Когда JSP запрашивается в первый раз или когда веб-приложение запускается, контейнер сервлета будет скомпилировать его в класс, расширяющий HttpServlet и использовать его во время жизни веб-приложения. Вы можете найти сгенерированный исходный код в рабочем каталоге сервера. Например, Tomcat , это каталог /work . По запросу JSP контейнер сервлета выполняет скомпилированный JSP-класс и отправляет сгенерированный вывод (обычно только HTML / CSS / JS) через веб-сервер по сети на клиентскую сторону, что, в свою очередь, отображает его в веб-браузере.

Servlets

Сервлет - это прикладной программный интерфейс Java (API), запущенный на сервере, который перехватывает запросы, сделанные клиентом, и генерирует / отправляет ответ. Известным примером является HttpServlet который предоставляет методы для подключения HTTP запросов с использованием популярных HTTP-методов, таких как GET и POST . Вы можете настроить HttpServlet для прослушивания определенного шаблона URL-адреса HTTP, который настраивается в web.xml или совсем недавно с Java EE 6 с аннотацией @WebServlet .

Когда сначала запрашивается Servlet или во время запуска веб-приложения, контейнер сервлета создаст экземпляр и сохранит его в памяти во время жизни веб-приложения. Один и тот же экземпляр будет использоваться повторно для каждого входящего запроса, URL которого соответствует шаблону URL сервлета. Вы можете получить доступ к данным запроса с помощью HttpServletRequest и обработать ответ HttpServletResponse . Оба объекта доступны как аргументы метода внутри любого из переопределенных методов HttpServlet , таких как doGet() и doPost() .

JSF (JavaServer Faces)

JSF представляет собой основанную на компонентах среду MVC, которая построена поверх API Servlet и предоставляет components через теги, которые могут использоваться в JSP или любой другой технологии Java, основанной на просмотре, например Facelets . Facelets гораздо более подходит для JSF, чем JSP. Это обеспечивает отличные возможности шаблонов, такие как составные компоненты , в то время как JSP в основном предлагает только <jsp:include> для шаблонов, так что вы вынуждены создавать пользовательские компоненты с необработанным кодом Java (что немного непрозрачно и много утомительно работа в JSF), когда вы хотите заменить повторяющуюся группу компонентов на один компонент. Начиная с JSF 2.0, JSP устарела как технология просмотра в пользу Facelets.

Будучи структурой MVC ( Model-View-Controller ), JSF предоставляет FacesServlet как единственный контроллер запроса-ответа. Он берет на себя всю стандартную и утомительную работу HTTP-запроса / ответа, такую ​​как сбор пользовательского ввода, проверка / преобразование их, размещение их в объектах модели, вызов действий и предоставление ответа. Таким образом, вы получаете в основном страницу JSP или Facelets (XHTML) для View и класс JavaBean как Model . Компоненты JSF используются для привязки представления к модели (например, веб-элемент управления ASP.NET), а FacesServlet использует дерево компонентов JSF для выполнения всей работы.

Связанные вопросы


JSF - это усовершенствованная инфраструктура, в которой ее очень простая в использовании архитектура проектных моделей (MVC) для проектов. Основным преимуществом JSF над JSP является простое динамическое рендеринг компонентов в браузере на основе условий и простая интеграция событий ajax.

Передняя часть приложения JSF, то есть файлы xhtml, является тем, который отображается пользователю через браузер. Эти xhtml-файлы внутренне вызывают управляемые компоненты, например контроллеры, в которых написана логика приложения.

Контроллеры внутренне вызывают различные службы, которые общаются с базой данных (используя Hibernate или JPA API). Так происходит короткое течение.

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

JSF + RichFaces + Hibernate / JPA - хорошая технология, чтобы узнать наверняка!


JSP означает JAVA SERVER PAGE ........ jsp не является сервлетом. Jsp использует код и HTML-тег как сам по себе, вам не нужно делать HTML и сервлет seprately.Jsp играют великолепную роль в веб-приложении. Servlet - это класс Java, который играет роль, чтобы сделать вашу HTML-страницу статической и динамической.


Jsp также имеет встроенный код сервлета, который не нуждается в какой-либо внешней компиляции, которую он может запускать напрямую. Изменения вступят в силу в jsp прямо в браузере.

Сервлет должен быть скомпилирован (т.е. он будет иметь определенное создание класса)

Jsf является компонентом представления MVC Framework


Servlet - это боковой слой сервера java.

  • JSP - это Servlet с html
  • JSF - это база компонентов на тегах libs
  • JSP - он преобразуется в сервлет один раз, когда сервер получает запрос.

Основное различие между сервлетами и JSP заключается в том, что в Servlets мы пишем java-код и вставляем HTML-код, и есть просто обратный случай с JSP. В JSP мы пишем HTML-код и добавляем код Java, используя теги, предоставленные JSP.


См. http://www.oracle.com/technetwork/java/faq-137059.html

Технология JSP является частью семейства технологий Java. Страницы JSP скомпилированы в сервлеты и могут вызывать компоненты JavaBeans (компоненты) или компоненты Enterprise JavaBeans (корпоративные компоненты) для выполнения обработки на сервере. Таким образом, технология JSP является ключевым компонентом в масштабируемой архитектуре для веб-приложений.

См. https://jcp.org/en/introduction/faq

A: Технология JavaServer Faces является основой для создания пользовательских интерфейсов для веб-приложений. Технология JavaServer Faces включает в себя:

Набор API для: представления компонентов пользовательского интерфейса и управления их состоянием, обработки событий и проверки ввода, определения навигации по страницам и поддержки интернационализации и доступности.

Библиотека пользовательских тегов JavaServer Pages (JSP) для выражения интерфейса JavaServer Faces на странице JSP.

JSP - это специализированный сервлет.

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


С точки зрения браузера / клиента

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

JSF предназначен для более богатых веб-приложений, основанных на событиях. Я вижу событие более зернистым, чем запрос / ответ.

С точки зрения сервера

Страница JSP преобразуется в сервлет и имеет минимальное поведение.

Страница JSF преобразуется в дерево компонентов (с помощью специализированного FacesServlet), и он следует за жизненным циклом компонента, определенным спецификацией.


Java Server Pages (JSP) - это Java-технология, которая позволяет веб-разработчикам и разработчикам быстро разрабатывать и легко поддерживать, богатые информацией, динамические веб-страницы, которые используют существующие бизнес-системы. Технология JSP отделяет пользовательский интерфейс от создания контента, позволяя дизайнерам изменять общий макет страницы, не изменяя базовый динамический контент.

Facelets - это первый язык декларации страницы, не предназначенный для JSP, разработанный для JSF (Java Server Faces), который предоставил разработчикам JSF более простую и более мощную модель программирования по сравнению с JSP. Он решает различные проблемы, возникающие в JSP для разработки веб-приложений.

Вот таблица, в которой сравниваются черты scriplets и facelets:

Source





java-ee