Применение XSLT с сервлетами Java
Применение XSLT с сервлетами Java
Выполнять XSLT-преобразования на сервере можно также при помощи сервлетов (servlet) Java. Хотя многие процессоры XSLT предоставляют свои собственные версии сервлетов, я считаю, что гораздо проще самостоятельно выполнить преобразование при помощи Xalan или другого процессора XSLT и затем обработать результирующий документ и отправить его обратно клиенту.
В следующем примере я при помощи Xalan преобразую planets.xml во временный файл planets.html, применяя planets.xsl в сервлете:
import java.net.*;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.servlet.*;
import org.apache.xalan.xslt.*;
public class xslservlet extends GenericServlet {
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
try {
XSLTProcessor processor = XSLTProcessorFactory.getProcessor();
processor.process(new XSLTInputSource("planets.xml"),
new XSLTInputSource("planets.xsl"),
new XSLTResultTarget("planets.html"));
} catch(Exception e) {}
.
.
.
Все, что осталось, — отправить HTML-документ обратно клиенту (листинг 10.14).
Листинг 10.14. Применение XSLT на сервере с сервлетами Java
import java.net.*;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.servlet.*;
import org.apache.xalan.xslt.*;
public class xslservlet extends GenericServlet {
public void service(ServletRequest request, ServletResponse response)
throws ServletException.IOException {
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
try {
XSLTProcessor processor = XSLTProcessorFactory.getProcessor();
processor.process(new XSLTInputSource("planets.xml"),
new XSLTInputSource("planets.xsl"),
new XSLTResultTarget("planets.html"));
} catch(Exception e) {}
FileReader filereader = new FileReader("planets.html");
BufferedReader bufferedreader = new BufferedReader(filereader);
String instring;
while((instring = bufferedreader.readLine()) != null) {
pw.println(instring);
}
filereader.close();
pw.close();
}
}
Теперь все сделано, результат показан на рис. 10.7 — HTML-документ, переданный из сервлета.
Рис. 10.7. Применение XSLT с сервлетами Java
На этом мы заканчиваем изучение работы с API процессоров XSLT в программном коде. Мы рассмотрели весьма объемный материал: как взаимодействовать с API процессоров XSLT из JavaScript и Java для процессоров MSXML, Xalan, XT, Saxon и Oracle, а также примеры выполнения XSLT-преобразований на web-серверах при помощи ASP, JSP и сервлетов Java.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Использование процессора XSLT на Java
Использование процессора XSLT на Java Для работы с основанным на Java процессором XSLT достаточно загрузить и распаковать (unzip) его — и он готов к работе. Прочитайте, конечно, сопроводительные указания; но, как правило, нужно осуществить только два шага.Во-первых, необходимо
Вызов Java непосредственно из процессоров XSLT
Вызов Java непосредственно из процессоров XSLT Как мы говорили в главе 5, до недавнего времени процессоры XSLT могли реализовывать функции расширения любым способом, и один из этих способов включал прямой вызов функций Java. Например, в Saxon и Xalan можно выполнять код Java, если
Работа с API XSLT для Java
Работа с API XSLT для Java Во всех основанных на Java процессорах XSLT определен объемный интерфейс, API, для связи с Java. Как правило, при помощи API вызываются методы и создаются объекты Java, как мы увидим в этой главе. Но все процессоры XSLT определяют свои API по-разному, и обычно эти API
Взаимодействие процессора XSLT Oracle с Java
Взаимодействие процессора XSLT Oracle с Java Несколько больше усилий потребуется для осуществления XSLT-преобразования при помощи API процессора XSLT фирмы Oracle. Новый пример, oraclejava.java, продемонстрирует работу с этим API.В oraclejava.java в первую очередь необходимо считывать требуемые
Применение XSLT с активными серверными страницами
Применение XSLT с активными серверными страницами Активные серверные страницы (Active Server Pages, ASP) выполняются на серверах Microsoft Windows NT или 2000, поэтому в ближайшем примере для преобразования planets.xml при помощи planets.xsl и возврата результата в виде документа HTML я воспользуюсь
Применение XSLT с Java Server Pages
Применение XSLT с Java Server Pages Для работы с активными серверными страницами я использовал процессор MSXML фирмы Microsoft, но серверные страницы Java (Java Server Pages, JSP) не обязаны выполняться на серверах на платформе Windows, поэтому с JSP я не использую MSXML. Для выполнения XSLT-преобразования и
Глава 11 Применение XSLT для создания документов XSL-FO
Глава 11 Применение XSLT для создания документов XSL-FO Мы уже рассмотрели XSLT-преобразования из XML в XML, HTML, XHTML, RTF, простой текст, JavaScript и даже в реляционные базы данных. В этой и следующей главах вы познакомитесь с новым преобразованием, для которого и создавались XSLT:
Java, Java везде и всюду
Java, Java везде и всюду Язык Java был разработан фирмой Sun Microsystems, Inc. Первоначально он предназначался для прикладного ПО бытовых электронных приборов, но скоро стал использоваться для приложений, выполнявшихся браузерами. В конце 1995 года Sun сделала Java доступной, разрешив
Java для AS/400
Java для AS/400 Мы, разработчики новых версий AS/400, видим в Java язык будущих объектно-ориентированных бизнес-приложений и прилагаем большие усилия для его поддержки. Вопрос, как лучше реализовать ВМ Java на AS/400, задействовав при этом все преимущества системы, — один из самых
Java
Java http://www.javasoft.com/http://sunsite.unc.edu/javafaqКоллекции
14.4.7. Java
14.4.7. Java Язык программирования Java был разработан под девизом "написанное однажды работает везде" и предназначен для поддержки встроенных интерактивных программ (или аплетов) на Web-страницах, которые запускались бы из любого браузера. Благодаря серии грубых технических и
14.4.7. Java
14.4.7. Java Язык программирования Java был разработан под девизом "написанное однажды работает везде" и предназначен для поддержки встроенных интерактивных программ (или аплетов) на Web-страницах, которые запускались бы из любого браузера. Благодаря серии грубых технических и
Выполнение XSLT-преобразований в Java
Выполнение XSLT-преобразований в Java Язык Java традиционно широко поддерживает XML-технологии: большинство передовых разработок в этой области реализуется, как правило, сначала на Java и уж затем переносится на другие платформы разработки.Не стал исключением и XSLT. Можно смело
Отличия XSLT 1.1 от XSLT 1.0
Отличия XSLT 1.1 от XSLT 1.0 Отсутствие result tree fragment Главное и наиболее существенное отличие XSLT 1.1 от XSLT 1.0 состоит в том, что тип данных, известный в XSLT 1.0 как result tree fragment (результирующий фрагмент дерева) в XSLT 1.1. отсутствует. Вместо него в версии 1.1 используется множество узлов,
Отличия XSLT 2.0 от XSLT 1.1
Отличия XSLT 2.0 от XSLT 1.1 Прежде чем приступить к описанию отличий второй версии XSLT от версии 1.1 (и, соответственно, 1.0), следует сделать одно существенное замечание. Лицензионные соглашения Консорциума W3 не позволяют раскрывать широкой общественности внутренние материалы