Ключевое отличие: «JSP (Java Server Pages)» - это технология на стороне сервера, тогда как «Servlet» - это небольшая программа, работающая на сервере. Обе эти технологии Java используются для создания динамических веб-страниц.
Sun Microsystems выпустила JSP (Java Server Pages) в 1999 году. JSP - это языки сценариев Java, которые обычно используются для создания веб-страниц HTML, XML или других типов документов. Эти страницы имеют возможность динамического создания сценариев, позволяющую отделить логику страницы от логики статических компонентов страницы. Их базовый дизайн фактически делает HTML более функциональным и делает запросы к базе данных более динамичными. Для развертывания и запуска Java Server Pages (JSP) требуется совместимый веб-сервер с контейнером сервлетов (например, Apache Tomcat или Jetty). JSP - это высокоуровневая архитектура абстракции сервлета Java. Во время выполнения эти JSP переводятся в сервлеты. Сервлеты JSP кэшируются и используются до тех пор, пока не будет изменен исходный JSP. JSP может использоваться независимо, а также может рассматриваться как компонент конструкции модель-представление-контроллер на стороне сервера. Программисты используют Java-код вместе с некоторыми заранее определенными действиями для создания страниц содержимого веб-разметки; эти страницы затем компилируются и выполняются на стороне сервера для доставки документов.
Страницы JSP используют несколько разделителей для функций сценариев. Основным из них является сценарий JSP. Скриплет - это фрагмент кода Java, который запускается, когда пользователь запрашивает страницу.
Следующее является допустимым циклом for на странице JSP:
Считая до трех:
<% для (int i = 1; i
Это число <% = i%>.
ХОРОШО.
Его вывод будет представлен как:
Считая до трех:
Это число 1.
Это число 2.
Это число 3.
ХОРОШО.
Сервлеты - это небольшие Java-программы, связанные с Java-апплетами. Они в основном работают в среде веб-сервера. Спецификация Servlet была создана Sun Microsystems, версия 1.0 была завершена в июне 1997 года. Начальная версия была 2.3, а текущая версия по состоянию на 2013 год - 3.1. Сервлет - это класс Java, используемый для расширения возможностей сервера. Они отвечают на любые запросы в форме соответствующих ответов. Базовый пакет сервлета определяет объекты Java для представления запросов и ответов сервлета. Сервлеты могут автоматически генерироваться из Java Server Pages (JSP) компилятором JavaServer Pages. Технически, «сервлет» может быть определен как класс Java в Java EE, который соответствует API сервлета Java.
Сервлеты являются коммуникаторами по протоколу клиент-сервер и чаще всего используются с протоколом HTTP. Их основными целями являются:
- Для обработки или хранения и отправки данных формы HTML.
- Предоставлять динамическое содержимое, например результаты запроса к базе данных.
- Управление информацией о состоянии, которой нет в протоколе HTTP без сохранения состояния, например, заполнение статей в корзине покупателя соответствующего клиента.
Сервлет работает в жизненном цикле сервлета, в основном есть три метода сервлета, которые определяют жизненный цикл сервлета:
- в этом(),
- сервис () и
- уничтожить ()
Сравнение между JSP и Servlet:
JSP | Servlet | |
Кто они такие | JSP - это язык сценариев веб-страниц, обычно используемый для создания динамического веб-контента. | Сервлеты - это Java-программы, которые уже скомпилированы и которые также создают динамический веб-контент. |
типично | JSP обычно больше ориентирован на отображение информации. | Сервлет больше ориентирован на обработку информации. |
Роль в MVC (Model View Controller) | JSP действует как зритель. | Сервлет действует как контроллер. |
Применимо во время | Они, как правило, предпочтительны, когда не требуется много обработки данных. | Обычно они предпочтительнее, когда требуется больше обработки и манипуляций. |
Скорость бега | JSP работает медленнее по сравнению с сервлетом. JSP компилируется в сервлеты Java. | Сервлеты работают быстрее по сравнению с JSP. |
Кодовые сложности | Программирование кода легко по сравнению с сервлетами. | Программирование кода сложнее, чем в JSP. |
объект | Здесь мы можем создавать собственные теги, которые могут напрямую вызывать Java-бины. | В сервлетах такого объекта нет. |
Состоит из | JSP - это Java-представление HTML, смешанное с скриптлетами JAVA. | Сервлет - это полнофункциональный Java-код. |
Консистенция предметов | JSP имеет неявные объекты. | У сервлетов нет такого типа объектов. |
Примеры | Для отображения отчета. | Для обработки пользователь отправил форму. |