Html 错误&引用;“文件过早结束”;
我总共有3个文件,如下所示Html 错误&引用;“文件过早结束”;,html,xml,jsp,servlets,xslt,Html,Xml,Jsp,Servlets,Xslt,我总共有3个文件,如下所示 data.xml render.xslt last.xslt 见图片 我的第一个任务是将data.xml和render.xslt作为输入,将输出为All.xml,之后,给定的servlet将处理All.xml和last.xslt作为输入,对Http请求做出输出响应 import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.net.URL; impor
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URL;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
/**
*
* @author Shubham Dalal
*/
public class Manager extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException,
java.net.MalformedURLException {
// Tell the response object that our servlet returns HTML
response.setContentType("text/html; charset=UTF-8");
// Ask for a response stream
PrintWriter output = response.getWriter();
// This block tries to open our XML and XSLT files
// which may throw an exception, thus the try..catch
try {
// Get a empty transform factory (factory pattern)
TransformerFactory tFactory = TransformerFactory.newInstance();
// Get the actual server path for XML and XSLT files
String loc = getServletContext().getRealPath("") + "/";
Source sdk2 = new StreamSource(
new URL("file", "", loc + "full.xml").openStream());
Source Main = new StreamSource(
new URL("file", "", loc + "Main.xslt").openStream());
// Generate the transformer
Transformer Maintransformer = tFactory.newTransformer(Main);
// GRAND FINALE!
// Perform the transformation, send output to the browser
Maintransformer.transform(sdk2, new StreamResult(output));
// Get the XML input document and the stylesheet using
// the string loc that holds the path information,
// creating a JAXP Source instance
Source sdk = new StreamSource(
new URL("file", "", loc + "sdk.xml").openStream());
Source list = new StreamSource(
new URL("file", "", loc + "list.xsl").openStream());
// Generate the transformer
Transformer listtransformer = tFactory.newTransformer(list);
listtransformer.transform(sdk, new StreamResult(new File("", loc + "full.xml")));
} catch (Exception e) {
output.write(e.getMessage());
e.printStackTrace(output);
}
output.close();
}
}
问题是,我不知道如何在一个servlet中编写完整的代码,该servlet执行第一个任务,然后处理第二个任务,即All.xml和last.xslt,以提供html输出。
我是个新手
提前感谢。请参阅如何链接两个或多个XSLT转换。谢谢@MartinHonnen。请在单个servlet中向我展示整个代码。我不知道如何实现这一点。