Как JSP и Servlet связаны друг с другом? Является ли JSP своего рода сервлетом? Как JSP и JSF связаны друг с другом? Является ли JSF своего рода JSP на базе пользовательского интерфейса, таким как ASP.NET-MVC?
JSP - это технология Java-вида , работающая на сервере, которая позволяет писать текст шаблона на клиентских языках (таких как HTML, CSS, JavaScript и т. Д.).). JSP поддерживает taglibs, которые подкреплены фрагментами кода Java, которые позволяют динамически контролировать поток или вывод страницы. Известный taglib - JSTL. JSP также поддерживает язык выражения, который можно использовать для доступа к внутренним данным (через атрибуты, доступные в области страниц, запросов, сеансов и приложений), в основном в сочетании с taglibs.
Когда JSP запрашивается впервые или когда веб-приложение запускается, контейнер сервлетов скомпилирует его в класс, расширяющий HttpServlet
, и использует его в течение срока службы веб-приложения. Вы можете найти сгенерированный исходный код в рабочем каталоге сервера. Например, Tomcat, это каталог / work
. По запросу JSP контейнер сервлета выполнит скомпилированный класс JSP и отправит сгенерированный вывод (обычно просто HTML / CSS / JS) через веб-сервер по сети на клиентскую сторону, которая, в свою очередь, отобразит его в веб-браузере.
Servlet - это интерфейс прикладного программирования Java (API) , работающий на сервере, который перехватывает запросы, сделанные клиентом, и генерирует / отправляет ответ. Хорошо известным примером является HttpServlet
, который предоставляет методы для подключения запросов HTTP с использованием популярных методов HTTP, таких как GET
и POST
. Вы можете настроить HttpServlet
для прослушивания определенного шаблона HTTP-URL, который настраивается в web.xml
или совсем недавно с Java EE 6, с аннотацией @ WebServlet
.
Когда Servlet запрашивается впервые или во время запуска веб-приложения, контейнер сервлета создает его экземпляр и сохраняет его в памяти в течение срока службы веб-приложения. Тот же экземпляр будет повторно использоваться для каждого входящего запроса, URL-адрес которого соответствует шаблону URL-адреса сервлета. Вы можете получить доступ к данным запроса с помощью HttpServletRequest
и обработать ответ с помощью HttpServletResponse
. Оба объекта доступны в виде аргументов метода в любом из переопределенных методов HttpServlet
, таких как doGet ()
и doPost ()
.
JSF - это компонентная среда MVC , которая построена поверх API сервлета и предоставляет компоненты через taglibs, которые можно использовать в JSP или любой другой технологии просмотра на основе Java, такой как [Facelets] [15 ]. Лицевые браслеты гораздо больше подходят для JSF, чем JSP. Это а именно обеспечивает отлично [шаблонизация возможностей]16] например [композитные компоненты]17] в то время как JSP в основном предлагает только [& л;jsp: include >
]18] для шаблонов в JSF, так что вы 'повторно вынуждены создавать собственные компоненты с необработанным кодом Java (что немного непрозрачно и утомительно) когда вы хотите заменить повторяющуюся группу компонентов одним компонентом. Начиная с JSF 2.0, JSP устарела как технология просмотра в пользу Facelets.
Примечание : сам JSP НЕ устарел, просто комбинация JSF с JSP устарела.
Примечание : JSP обладает большими способностями к шаблону с помощью Taglibs, особенно варианта (Tag File). JSP шаблонирует в сочетании с JSF - вот чего не хватает.
Будучи структурой MVC (Model-View-Controller), JSF предоставляет FacesServlet
в качестве единственного запроса-ответа Controller . Он берет все стандартные и утомительные работы HTTP-запроса / ответа из ваших рук, такие как сбор пользовательского ввода, проверка / преобразование их, размещение их в объектах модели, вызов действий и рендеринг ответа. Таким образом, вы получаете в основном страницу JSP или Facelets (XHTML) для View и класс JavaBean как Model . Компоненты JSF используются для связывания представления с моделью (как это делает ваш веб-контроль ASP.NET), а «FacesServlet» использует дерево компонентов JSF для выполнения всей работы.
См. Http://www.oracle.com/technetwork/java/faq-137059.html
Технология JSP является частью Java Технологическая семья. JSP страницы есть скомпилированы в сервлеты и могут звонить Компоненты JavaBeans (бобы) или Корпоративные компоненты 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) и соответствует жизненному циклу компонентов, определенному спецификацией.
Сервлеты:
API сервлета Java позволяет разработчикам Java писать код на стороне сервера для доставки динамического веб-контента. Как и другие проприетарные веб-серверы API, API сервлета Java, предлагают улучшенную производительность по сравнению с 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 в следующие способы: • Обеспечивает компонент-ориентированный, независимый от клиента подход к созданию веб-пользователя интерфейсы, тем самым повышая производительность разработчика и простоту использования. • Это упрощает доступ и управление данными приложения из Веб-интерфейс пользователя. • Он автоматически управляет пользовательским интерфейсом состояние между несколькими запросами и несколькими клиентами в простом и ненавязчивая манера. • Он обеспечивает структуру развития, которая есть дружелюбный к разнообразной аудитории разработчиков с различными наборами навыков. • Он описывает стандартный набор архитектурных шаблонов для сети приложение.
[ Источник: Полная ссылка: JSF ]
Есть также ситуации, когда вы можете отдать предпочтение JSP по сравнению с JSF. Характер приложения должен быть решающим фактором для выбора технологии.
Если у вас богатое взаимодействие с графическим интерфейсом и много необходимых сценариев Java, то отдавайте предпочтение JSF. В основном, если архитектура вашего приложения с графическим интерфейсом похожа на компонентную & даже управляемый как Swing, то JSF является лучшим.
Если приложение представляет собой просто отправку в простой форме, не требуется много взаимодействия с графическим интерфейсом, то JSP может преуспеть, если изучение новой технологии является накладной, а также нет необходимости в сложной структуре.
Servlet - это боковой слой Java-сервера.
это правда, что JSP преобразуется в сервлет во время выполнения, и JSF - это совершенно новая вещь, чтобы сделать веб-страницу более читабельной, поскольку JSF позволяет записывать все структуры программирования в форме тега.
Основное различие между Servlets и JSP заключается в том, что в Servlets мы пишем Java-код и встраиваем HTML-код, и с JSP есть только обратный случай . В JSP мы пишем HTML-код и встраиваем Java-код, используя теги, предоставляемые JSP
Java Server Pages (JSP) - это технология Java, которая позволяет веб-разработчикам и дизайнерам быстро разрабатывать и легко обслуживать динамичные веб-страницы, богатые информацией, которые используют существующие бизнес-системы. Технология JSP отделяет пользовательский интерфейс от генерации контента, позволяя дизайнерам изменять общий макет страницы без изменения основного динамического содержимого.
Facelets - это первый не JSP язык объявления страниц, разработанный для JSF (Java Server Faces) , который предоставил разработчикам JSF более простую и мощную модель программирования по сравнению с JSP. Это решает различные проблемы, возникающие в JSP для разработки веб-приложений.
Вот таблица, которая сравнивает особенности скраплетов и лицевых поверхностей:
JSP:means HTML+Java Code:
У JSP есть свой жизненный цикл jsp_init () jsp_service () jsp_destroy
После первого запроса JSP конвертировать в файл .java. Мы используем три типа тегов 1.) Без скрипта
<% %>
Здесь разработчик может объявить все те вещи, которые разработчик хочет взять данные
2.) Тег выражения
<%= %>
Здесь разработчик может использовать некоторые данные, связанные с печатью
3.)Декларация
<!% %>
Здесь разработчик может объявить некоторые данные, связанные с методом.
Servlet:
Сервлет имеет свой жизненный цикл.
init()
service()
destroy()
После первого запроса контейнер будет считывать данные из файла web.xml затем после этого будет отображаться приветственное заполнение. Теперь, после выполнения действия, он будет искать URL-адрес, и после этого процесса он будет искать конкретный сервлет там сам. сервисная операция будет выполняться.
JSF:
У JSF есть свой собственный пользовательский интерфейс, и его жизненный цикл может работать шестью способами
A)Restore view phase
B)Apply request values phase
C)Process validations phase
D)Update model values phase
E)Invoke application phase
F)Render response phase
Для ui здесь для таблицы здесь мы используем сетку панели, и для этого есть разные грани.
Rich Faces
Prime Faces.
Jsp также имеет встроенный сервлет-код, который не требует внешней компиляции, его можно запускать напрямую. Изменения вступят в силу в jsp непосредственно в браузере.
Сервлет должен быть скомпилирован (т.е. он будет иметь конкретное создание класса)
Jsf является компонентом представления MVC Framework
JSF - это передовая структура, в которой очень легко реализовать архитектуру на основе Model-View-Controller (MVC) для проектов. Основным преимуществом JSF перед JSP является простая динамическая визуализация компонентов в браузере на основе условий и простая интеграция событий ajax.
Передний конец приложения JSF, т.е. Файлы xhtml - это файлы, которые отображаются пользователю через браузер. Эти файлы xhtml внутренне вызывают управляемые бобы, например,. контроллеры, в которых написана фактическая логика приложения.
Контроллеры внутренне вызывают различные службы, которые взаимодействуют с базой данных (с использованием Hibernate или JPA API). Вот как поток происходит вкратце.
JSF также используется в сочетании с RichFaces, который является основой для придания вашему веб-приложению богатого внешнего вида.
JSF + RichFaces + Hibernate / JPA - хорошая технология для изучения !
JSP являются компонентом просмотра MVC (контроллер просмотра моделей). Контроллер берет входящий запрос и передает его в Модель, которая может быть бобом, который обеспечивает доступ к базе данных. Затем JSP форматирует вывод с использованием HTML, CSS и JavaScript, а затем вывод отправляется обратно запрашивающей стороне.
JSP расшифровывается как JAVA SERVER PAGE ........ jsp не сервлет. Jsp использует код и тег HTML, которые вам не нужны для создания HTML и сервлета отдельно. Jsp играют великолепную роль в веб-приложении. Servlet - это класс Java, который играет роль, превращая вашу HTML-страницу из статической в динамическую .
Сервлеты - это серверные Java-программы, которые выполняются внутри веб-контейнера. Основная цель сервлета - обработка запросов, полученных от клиента.
Страницы Java Server используются для создания динамических веб-страниц. Jsp были введены для записи кода Java плюс html в одном файле, что было нелегко сделать в программе сервлетов. И файл jsp преобразуется в сервлет Java при его переводе.
Java Server Faces - это веб-структура MVC, которая упрощает разработку пользовательского интерфейса