Лекции.Орг


Поиск:




Технология JSP – Java Server Pages




Одним из важнейших видов серверных программ являются приложения, использующие технологию JSP – Java Server Pages. Несмотря на то, что она опирается использование сервлетов, JSP является самостоятельной технологией. Идеология JSP основана на внедрение в HTML-документы специальных конструкций, позволяющих со стороны сервера выполнять программную обработку данных и выводить в соответствующее место документа результат.

В качестве примеров в NetBeans Enterprise Pack приведены примеры Tomcat JSP Example и JSTL Example. Отметим, что Tomcat – название программного сервера, варианта сервера apache, который автоматически конфигурируется и запускается при выполнении примеров, а example означает “пример”. Большим достоинством среды NetBeans является то, что оригиналы всех примеров, открываемых в NetBeans, остаются в неприкосновенности – автоматически создаются копии примеров. Поэтому даже если вы внесёте исправления в исходный код проекта с примером, это не повлечёт изменений в новом проекте с таким же примером.

Для правильной работы серверных примеров требуется, чтобы на компьютере была установлена работа с Интернет. Реально выходить в Интернет не надо, идёт соединение http://localhost:8084//. Но после запуска другого серверного приложения идёт соединение по тому же адресу, поэтому документ берётся из буфера – и показывается документ, созданный предыдущим приложением. Для показа правильного документа требуется нажать в браузере кнопку “обновить”, и в случае автономной работы в появившемся диалоге, предлагающем выбрать режим работы, выбрать “Подключиться”. Реального соединения с Интернет для адреса http://localhost:8084// не будет – все коммуникации станут проходить локально.

 

Первый из примеров иллюстрирует базовые конструкции JSP, его можно просмотреть, создав проект File/New Project…/ Samples/J2EE1.4/Web /Tomcat JSP Example.

Второй пример – надстройка над JSP, специальный набор тегов JSP, разработанный группой экспертов для облегчения разработки серверных приложений. Пример можно просмотреть, создав проект File/New Project…/ Samples/J2EE1.4/Web / JSTL Example.

Оба этих примера также разработаны организацией The Apache Software Foundation (http://www.apache.org/), и их использование также должно соответствовать лицензии http://www.apache.org/licenses/LICENSE-2.0.

Порядок примеров в мастере создания приложений прямо противоположный рассматриваемому нами - сначала предлагается использовать JSTL как наиболее развитое средство, затем – JSP как средство более низкого уровня, и только затем Servlet – как средство ещё более низкого уровня. Мы используем при рассмотрении обратный порядок, так как JSP использует сервлеты, а JSTL является надстройкой над JSP.

Рассмотрим подробнее первый пример.

 

Первая страница запущенного примера JSP

 

Как и в предыдущем случае, при нажатии на гиперссылку “Execute” выполняется соответствующий пример – в данном случае запускается страница JSP. А при нажатии гиперссылки Source показывается HTML-страница с примерным видом исходного кода.

Страницы JSP представляют обычные HTML-документы, но имеющие расширение имени файла.jsp, а не.html или.htm. Это – заготовка HTML-документа, который будет показан пользователю-клиенту. При создании клиентского HTML-документа в этой заготовке выражения в фигурных скобках после знака доллара вычисляются, а в HTML-документ подставляется строковое представление результата.

Например, выражение вида ${1 + 2} выдаст в соответствующее место документа символ 3. Последовательность \$ означает, что выражение ${…} не вычисляется, а рассматривается как строка.

Первый пример JSP- вычисление выражений

 

Имеется ряд встроенных в JSP тегов (объектов Java):

  • request – запрос. Тип объекта - класс, реализующий интерфейс javax.servlet.http.HttpServletRequest.
  • response – ответ на запрос. Тип объекта - класс, реализующий интерфейс javax.servlet.http.HttpServletResponce.
  • pageContext – контекст страницы JSP. Обеспечивает доступ к пространству имён и элементам страницы (тегам, атрибутам). Тип объекта - класс javax.servlet.jsp.PageContext.
  • session – сессия (сеанс связи клиента с сервером). Тип объекта - класс, реализующий интерфейс javax.servlet.http.HttpSession
  • application – приложение. Тип объекта - класс, реализующий интерфейс javax.servlet.ServletContext
  • out – выходной поток. Тип объекта - класс javax.servlet.jsp.JspWriter
  • config – объект конфигурации сервлета для текущей страницы. Тип объекта - класс, реализующий интерфейс javax.servlet.ServletConfig
  • page – объект, обрабатывающий запрос для данной страницы. Тип объекта - класс Object.

 

Данные объекты применяются в виде

<%@ имяОбъекта параметр1=значение1 параметр2=значение2... %>

 

Пример их использования:

<%@ page session=true import=”java.util.*” %>

 

Имеется возможность задания сценариев (интерпретируемого кода) с помощью специальных определений вида

<%@ код %>

Где код – сценарий Java для работы с документом или вычислений. Например,

<%

for(int i=0; i<table.getEntries().getRows(); i++) {

cal.Entry entr = table.getEntries().getEntry(i);

%>

 

 

В частности, разрешается задавать собственные теги вида

<%@ имяБиблиотеки prefix=" имяОбъекта " uri=" путь к библиотеке " %>

После чего разрешается использовать теги вида < имяОбъекта: оператор >

 

Так делается в примере использования оператора out в JSTL Example. Используется пользовательский объект c (сокращение от customer – “покупатель”), задаваемый как prefix="c", и оператор out, заданный в библиотеке taglib по адресу uri="http://java.sun.com/jsp/jstl/core":

 

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 

Отметим, что соответствующие библиотеки уже добавлены в проект. Для примера out это пакет org.apache.taglibs.standard.tag.el.core.

После запуска данного приложения в появившемся документе в списке Examples это первый пример - General Purpose Tags. При переходе по данной гиперссылке мы получаем пример

 





Поделиться с друзьями:


Дата добавления: 2017-02-28; Мы поможем в написании ваших работ!; просмотров: 608 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студент может не знать в двух случаях: не знал, или забыл. © Неизвестно
==> читать все изречения...

1332 - | 938 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.