
- •Оглавление
- •Java-технологии распределенных компьютерных систем
- •Инструментальные средства java для создания распределенных систем
- •Первая java-программа
- •Интерфейсы
- •Наследование
- •Import имя_пакета.*;
- •Ссылки this и super
- •Исключения
- •Массивы
- •Виртуальная машина java (jvm)
- •Распределенные компьютерные системы и их характеристики
- •Промежуточное программное обеспечение распределенных компьютерных систем
- •Архитектура java rmi
- •Достоинства и недостатки java-rmi
- •Технология corba
- •Достоинства и недостатки corba
- •Структура распределенного j2ee java-приложения
- •Hello World распределенное j2ee java-приложение Средства разработки
- •Структура
- •Код локального интерфейса
- •Html. Основные теги html.
- •Основные теги html
- •Формы html-документов
- •Cgi. Java web-сервер
- •Сервлет-технология java
- •Компоненты ejb
- •Страницы jsp
- •Теги и встроенные объекты jsp
- •Основные теги jsp-страниц.
- •Архитектуры распределенных приложений. Web-сервисы
- •Jms. Архитектура jms
Страницы 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 следует поддерживаться трех правил:
Язык JSP различают регистры букв также как и язык JAVA.
При записи атрибута после знака равенства отделяющего имя атрибута от его значения, нельзя ставить пробелы.
Значение атрибутов можно заносить как в кавычки так и в апострофы.
Основные теги jsp-страниц.
а) комментарий определяется тегом:
<%--комментарий--%>;
б) тег объявления полей и методов JAVA имеет вид:
<%! объявление %>
в) тег для записи выражений:
<%= выражение %>
Выражение вычисляется, его результат представляется на место тега.
г) тег для записи фрагмента кода JAVA называется скриплетом.
<% скреплет %>
д) общие свойства страниц JSP задаются тегом:
<%@ Атрибуты %>
Так в примере Hello.jsp использовались наиболее важные атрибуты тега общих свойств JSP-страниц: contentType, pageEncoding,import.
Каждая JSP-страница может пользоваться в выражениях рядом встроенных объектов создаваемых Web-контейнером. Наиболее важными из них являются request и response имеющий тип HTTPServletRequest, HTTPServletResponse соответственно. Их назначение тоже, что и в сервлет-технологии JAVA.