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

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

Жанры

Технология 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>");

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

На границе империй. Том 10. Часть 7

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 7

Князь Барсов. Том 2

Петров Максим Николаевич
2. РОС. На мягких лапах
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Князь Барсов. Том 2

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

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

Имя нам Легион. Том 3

Дорничев Дмитрий
3. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 3

Специалист по нечисти

Билик Дмитрий Александрович
2. Бедовый
Фантастика:
юмористическая фантастика
городское фэнтези
мистика
5.00
рейтинг книги
Специалист по нечисти

Я снова не князь! Книга XVII

Дрейк Сириус
17. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я снова не князь! Книга XVII

Горизонт Вечности

Вайс Александр
11. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Горизонт Вечности

Идеальный мир для Лекаря 12

Сапфир Олег
12. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 12

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

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

Барон Дубов

Карелин Сергей Витальевич
1. Его Дубейшество
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Барон Дубов

Идеальный мир для Лекаря 19

Сапфир Олег
19. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 19

Искатель 1

Шиленко Сергей
1. Валинор
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Искатель 1

Лейтенант космического флота

Борчанинов Геннадий
1. Звезды на погонах
Фантастика:
боевая фантастика
космическая фантастика
космоопера
рпг
фэнтези
фантастика: прочее
5.00
рейтинг книги
Лейтенант космического флота

Тринадцатый

Северский Андрей
Фантастика:
фэнтези
рпг
7.12
рейтинг книги
Тринадцатый