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

Страницы jsp

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

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

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

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

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

Заменим без потери функциональности в распределенном приложении Hello World сервлет Hello Servlet.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”>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Xml. Структура xml-документа

Язык разметки XML (Extensible Markup Language) широко применяется в технологии JAVA. C его помощью отдаются конфигурационные файлы прикладных JAVA-программ. Однако основное назначение XML – хранение и передача информации в распределенных приложениях. Именно на обмене XML-документами между клиентом и сервером основана новая технология создания распределенных приложений, технология Web Services. C помощью XML информация хранится в структурированном формате в текстовых файлах. Эти файлы имеют расширение *.xml. В HTML используются только те теги, которые определены в спецификации. Используя XML можно создавать собственные теги. Рассмотрим структуру XML на примере:

<? Xml version = “1.0” encoding = iso-8859-1 “stardalone” = ”yes”?>

<fruits>

<fruit state = “UK”>

<name>Apple</name>

<price>5.55</price>

<amount>100</amount>

</fruit>

<fruit state = “USA”>

<name>Orange</name>

<price>7.77</price>

<amount>50</amount>

</fruit>

</fruits>

XML – объявление обеспечивает базовую информацию для парсера (парсер – программа извлекающая информацию из XML-документа). Употребление XML объявления рекомендуется, но не обязательно.

Если оно есть, то оно должно быть первым в документе. Объявление может содержать до трех пар имя_значение.

Versionиспользуемая версия XML (в настоящее время версия 1.0).

Incoding – набор символов используемых в данном документе. Если Incoding не указан, XML-парсер использует набор UTF-8. Значение stardalone может быть “yes” или “no”.

Stardalone определяет, может ли этот документ обработать без чтения каких либо других файлов. По умолчанию предполагается Stardalone = “no”. Есть три термина используемых для описания частей XML-документа: теги, элементы и атрибуты.

Тег – текст между знаком < и >.

Элементом называется начальный и конечный тег, а также, все что есть между ними. Например, элемент fruit содержит три дочерних элемента: name, price, amount.

Атрибут – это пара имя_значение внутри начального тега элемента. В примере, state является атрибутом элемента fruit.

Документ XML должен содержаться в единственном элементе. Этот единственный элемент называется корневым элементом. Он содержит весь текст и любые элементы документа. В нашем примере корневой элемент называется fruits.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]