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

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

Жанры

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

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

Неправильный лекарь. Том 4

Измайлов Сергей
4. Неправильный лекарь
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Неправильный лекарь. Том 4

Сын Тишайшего

Яманов Александр
1. Царь Федя
Фантастика:
попаданцы
альтернативная история
фэнтези
5.20
рейтинг книги
Сын Тишайшего

Ведьмак. Назад в СССР

Подус Игорь
1. Ведьмак: назад в СССР
Фантастика:
попаданцы
альтернативная история
6.60
рейтинг книги
Ведьмак. Назад в СССР

Бестужев. Служба Государевой Безопасности. Книга третья

Измайлов Сергей
3. Граф Бестужев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности. Книга третья

Возмездие

Злобин Михаил
4. О чем молчат могилы
Фантастика:
фэнтези
7.47
рейтинг книги
Возмездие

Повелитель теней. Том 3

NikL
3. Повелитель теней
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Повелитель теней. Том 3

Чехов книга 3

Гоблин (MeXXanik)
3. Адвокат Чехов
Фантастика:
попаданцы
альтернативная история
аниме
6.00
рейтинг книги
Чехов книга 3

Черный Маг Императора 15

Герда Александр
15. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
сказочная фантастика
фэнтези
фантастика: прочее
5.00
рейтинг книги
Черный Маг Императора 15

Камень. Книга восьмая

Минин Станислав
8. Камень
Фантастика:
фэнтези
боевая фантастика
7.00
рейтинг книги
Камень. Книга восьмая

Кодекс Охотника. Книга XIII

Винокуров Юрий
13. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
аниме
7.50
рейтинг книги
Кодекс Охотника. Книга XIII

Пограничная река. (Тетралогия)

Каменистый Артем
Пограничная река
Фантастика:
фэнтези
боевая фантастика
9.13
рейтинг книги
Пограничная река. (Тетралогия)

Законы Рода. Том 14

Андрей Мельник
14. Граф Берестьев
Фантастика:
аниме
фэнтези
эпическая фантастика
5.00
рейтинг книги
Законы Рода. Том 14

Убивать, чтобы жить

Бор Жорж
1. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать, чтобы жить

Кодекс Охотника XXXI

Винокуров Юрий
31. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Охотника XXXI