44
5. Java Server Page (JSP) - это технология для управления содержимым
или внешним видом веб-страниц с помощью сервлетов, небольших программ,
которые указываются на веб-странице и запускаются на веб-сервере для
изменения веб-страницы перед ее отправкой пользователю, запросившему
страницу., Sun Microsystems, разработчик Java, также называет технологию JSP
интерфейсом прикладных программ (API) Servlet. JSP сопоставима с технологией
Microsoft Active Server Page (ASP). В то время как JSP вызывает программу Java,
которая выполняется веб-сервером, ASP содержит сценарий, который
интерпретируется интерпретатором сценария (таким как VBScript или JScript)
перед отправкой страницы пользователю.
Архитектурно JSP может рассматриваться как высокоуровневая абстракция
сервлетов Java. JSP преобразуются в сервлеты во время выполнения, поэтому JSP
является сервлетом; каждый сервлет JSP кэшируется и используется повторно,
пока исходный JSP не будет изменен. JSP может использоваться независимо или
в качестве компонента представления в модели модель-представление-
контроллер на стороне сервера, обычно с JavaBeans в качестве модели и
сервлетами Java (или инфраструктурой, такой как Apache Struts) в качестве
контроллера.
JSP позволяет чередовать код Java и некоторые предопределенные действия
со статическим содержимым веб-разметки, таким как HTML, с конечной
страницей, компилируемой и выполняемой на сервере для доставки документа.
Скомпилированные страницы, а также любые зависимые библиотеки Java
содержат байт-код Java, а не машинный код. Как и любая другая программа на
Java, они должны выполняться в виртуальной машине Java (JVM), которая
взаимодействует с операционной системой хоста сервера, чтобы обеспечить
абстрактную, независимую от платформы среду.
JSP обычно используются для доставки документов HTML и XML, но с
помощью OutputStream они могут доставлять и другие типы данных. Веб-
контейнер создает неявные объекты JSP, такие как запрос, ответ, сеанс,
приложение, конфигурация, страница, pageContext, out и exception. JSP Engine
создает эти объекты на этапе перевода.