Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
93
Добавлен:
07.02.2016
Размер:
789.52 Кб
Скачать

Страницы jsp

Как известно, большую часть сервлета занимают операторы вывода в выходной поток динамической HTML-страницы.

Эти операторы повторяются из сервлета в сервлет. Код сервлета становится весьма громоздким. Поэтому возникла идея не записывать теги HTML в операторах JAVA, а наоборот, записывать операторы JAVA в страницы HTML с помощью тегов специального вида. После чего обработать полученную страницу препроцессором, который распознает все теги и преобразует их в код сервлета. Таким образом получился язык разметки JSP (Java Server Pages) расширяющий язык HTML тегами специального вида:

<% имя_тега атрибуты %>

С помощью таких тегов в страницу HTML можно поместить выражение и операторы JAVA, вызвать объекты JAVA или компоненты EJB и т.д. При этом статический текст HTML в документации EJB называется шаблоном.

Вывод HTML и кода JAVA в символьный поток расширяет класс JSPWriter расширяющий класс Writer. Web-контейнеры современных JAVA Web-серверов поддерживают работу как с сервлетами, так и с JSP-страницами.

JSP-страница Hello.jsp

Заменим без потери функциональности в распределенном приложении Hello World сервлет HelloServlet.java на страницу jsp - Hello.jsp. Ee код имеет вид:

<%@page context Type = “text/html”%>

<%@page pagencoding = “UTF-8”%>

<%@import = “my.*”%>

<%Hello Session Local h=new Hello Session Bean();

string name, message, message_ejb;

name = requent.getParametr(“name”);

message = “Hello”;

Message = message + name;

message_ejb = h.say Hello();%>

<html>

<head>

<title J2EE Application</title>>

</head>

<body>

<p><%=message%></p>

<p><%=message_ejb%></p>

</body>

</html>

Для работы с Hello.jsp заменим в файле j2ee.html строку:

<form method = “Get” action = “http://localhpst:8080/Hi/Hello”>

на

<from method = “Get” action = “http://localhost:8080/Hi/Hello.jsp”>.

Результат работы Hello World-приложения с страницей Hello.jsp аналогичен работе с сервлетом HelloServlet.java.

Теги и встроенные объекты jsp

При написании тегов JSP следует поддерживаться трех правил:

  1. Язык JSP различают регистры букв также как и язык JAVA.

  2. При записи атрибута после знака равенства отделяющего имя атрибута от его значения, нельзя ставить пробелы.

  3. Значение атрибутов можно заносить как в кавычки так и в апострофы.

Основные теги jsp-страниц.

а) комментарий определяется тегом:

<%--комментарий--%>;

б) тег объявления полей и методов JAVA имеет вид:

<%! объявление %>

в) тег для записи выражений:

<%= выражение %>

Выражение вычисляется, его результат представляется на место тега.

г) тег для записи фрагмента кода JAVA называется скриплетом.

<% скреплет %>

д) общие свойства страниц JSP задаются тегом:

<%@ Атрибуты %>

Так в примере Hello.jsp использовались наиболее важные атрибуты тега общих свойств JSP-страниц: contentType, pageEncoding,import.

Каждая JSP-страница может пользоваться в выражениях рядом встроенных объектов создаваемых Web-контейнером. Наиболее важными из них являются request и response имеющий тип HTTPServletRequest, HTTPServletResponse соответственно. Их назначение тоже, что и в сервлет-технологии JAVA.

Соседние файлы в папке [КОМП СИСТЕМЫ]