Технология 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-технологии:
Не стал исключением и 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
рейтинг книги
Сын Тишайшего
1. Царь Федя
Фантастика:
попаданцы
альтернативная история
фэнтези
5.20
рейтинг книги
Ведьмак. Назад в СССР
1. Ведьмак: назад в СССР
Фантастика:
попаданцы
альтернативная история
6.60
рейтинг книги
Бестужев. Служба Государевой Безопасности. Книга третья
3. Граф Бестужев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Возмездие
4. О чем молчат могилы
Фантастика:
фэнтези
7.47
рейтинг книги
Повелитель теней. Том 3
3. Повелитель теней
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Чехов книга 3
3. Адвокат Чехов
Фантастика:
попаданцы
альтернативная история
аниме
6.00
рейтинг книги
Черный Маг Императора 15
15. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
сказочная фантастика
фэнтези
фантастика: прочее
5.00
рейтинг книги
Камень. Книга восьмая
8. Камень
Фантастика:
фэнтези
боевая фантастика
7.00
рейтинг книги
Кодекс Охотника. Книга XIII
13. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
аниме
7.50
рейтинг книги
Пограничная река. (Тетралогия)
Пограничная река
Фантастика:
фэнтези
боевая фантастика
9.13
рейтинг книги
Законы Рода. Том 14
14. Граф Берестьев
Фантастика:
аниме
фэнтези
эпическая фантастика
5.00
рейтинг книги
Убивать, чтобы жить
1. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Кодекс Охотника XXXI
31. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00