Чтение онлайн

на главную - закладки

Жанры

Технология XSLT

Валиков Алексей Н.

Шрифт:

1 <A>value</A> 1

SQL> SELECT * FROM PROCESSED_SOURCE;

ID CONTENT

– - -------------------------------------------------------

1 <?xml version = '1.0' encoding = 'UTF-8'?> <B>value</B>

Выполнение XSLT-преобразований в Java

Язык Java традиционно широко поддерживает XML-технологии:

большинство передовых разработок в этой области реализуется, как правило, сначала на Java и уж затем переносится на другие платформы разработки.

Не стал исключением и XSLT. Можно смело сказать, что количество XSLT-средств, написанных на Java, превосходит половину вообще всех существующих в настоящее время XSLT-пакетов.

Для того чтобы продемонстрировать использование XSLT в Java, мы приведем два варианта одной и той же программы — серверного приложения (сервлета), которое по запросу клиента будет возвращать информацию о текущем HTTP-сеансе в формате HTML.

Первый вариант сервлета можно назвать "традиционным". В нем HTML-документ создается серией инструкций

out.println(...)
, которые выводят в выходящий поток размеченную HTML-тегами информацию о текущем сеансе.

Листинг 9.22. Традиционный вариант сервлета

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

import java.util.*;

public class example extends HttpServlet {

 /**

 * Инициализация.

 */

 public void init(ServletConfig config) throws ServletException {

super.init(config);

 }

 /**

 * Основной метод сервлета

 */

 public void service(HttpServletRequest request,

HttpServletResponse response)

throws ServletException, IOException {

// Выставляем тип содержимого

response.setContentType("text/html");

// Инициализируем выходящий поток

OutputStreamWriter osw =

new OutputStreamWriter(response.getOutputStream);

PrintWriter out = new PrintWriter (response.getOutputStream);

// Выполняем вывод HTML-страницы

out.println("<html>");

// Выводим головную часть HTML-документа

out.println(" <head>");

out.println(" <title>Request information</title>");

out.println(" </head>");

// Выводим
тело документа

out.println(" <body>");

// Выводим общую информацию о запросе

out.println(" <h1>General information</h1>");

out.println(" <table>");

// Выводим имя сервера

out.println(" <tr>");

out.println(" <td>Server name</td>");

out.println(" <td>" + request.getServerName + "</td>");

out.println(" </tr>");

// Выводим порт сервера

out.println(" <tr>");

out.println(" <td>Server port</td>");

out.println(" <td>" + request.getServerPort + "</td>");

out.println(" </tr>");

// Выводим адрес запрашивающей стороны

out.println(" <tr>");

out.println(" <td>Remote address</td>") ;

out.println(" <td>" + request.getRemoteAddr + "</td>");

out.println(" </tr>");

// Выводим название протокола запроса

out.println(" <tr>");

out.println(" <td>Protocol</td>");

out.println(" <td>" + request.getProtocol + "</td>");

out.println(" </tr>");

// Выводим метод запроса

out.println(" <tr>") ;

out.println(" <td>Method</td>");

out.println(" <td>" + request.getMethod + "</td>");

out.println(" </tr>");

// Выводим URI запроса

out.println(" <tr>");

out.println(" <td>Request URI</td>");

out.println(" <td>" + request.getRequestURI + "</td>");

out.println(" </tr>");

// Выводим строку запроса

out.println(" <tr>");

out.println(" <td>Query String</td>");

out.println(" <td>" + request.getQueryString + "</td>");

out.println(" </tr>");

out.println(" </table>");

// Выводим параметры запроса

out.println(" <h1>Request parameters</h1>");

Поделиться:
Популярные книги

Покоритель Звездных врат

Карелин Сергей Витальевич
1. Повелитель звездных врат
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Покоритель Звездных врат

Темный Патриарх Светлого Рода 6

Лисицин Евгений
6. Темный Патриарх Светлого Рода
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода 6

Восход. Солнцев. Книга IV

Скабер Артемий
4. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга IV

Адепт. Том второй. Каникулы

Бубела Олег Николаевич
7. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.05
рейтинг книги
Адепт. Том второй. Каникулы

Система Возвышения. (цикл 1-8) - Николай Раздоров

Раздоров Николай
Система Возвышения
Фантастика:
боевая фантастика
4.65
рейтинг книги
Система Возвышения. (цикл 1-8) - Николай Раздоров

Измена. Верну тебя, жена

Дали Мила
2. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Верну тебя, жена

Вечный Данж. Трилогия

Матисов Павел
Фантастика:
фэнтези
юмористическая фантастика
6.77
рейтинг книги
Вечный Данж. Трилогия

Аномальный наследник. Том 1 и Том 2

Тарс Элиан
1. Аномальный наследник
Фантастика:
боевая фантастика
альтернативная история
8.50
рейтинг книги
Аномальный наследник. Том 1 и Том 2

Последний из рода Демидовых

Ветров Борис
Фантастика:
детективная фантастика
попаданцы
аниме
5.00
рейтинг книги
Последний из рода Демидовых

Хищный инстинкт

Суббота Светлана
4. Мир Двуликих
Фантастика:
фэнтези
7.50
рейтинг книги
Хищный инстинкт

Лорд Системы 13

Токсик Саша
13. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 13

Возрождение Феникса. Том 1

Володин Григорий Григорьевич
1. Возрождение Феникса
Фантастика:
фэнтези
попаданцы
альтернативная история
6.79
рейтинг книги
Возрождение Феникса. Том 1

Хозяйка лавандовой долины

Скор Элен
2. Хозяйка своей судьбы
Любовные романы:
любовно-фантастические романы
6.25
рейтинг книги
Хозяйка лавандовой долины

В теле пацана 4

Павлов Игорь Васильевич
4. Великое плато Вита
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
В теле пацана 4