为什么不能创建document?

jafan 2003-04-25 04:11:34
在Jbuilder6环境下,将html表单提交的数据通过servlet创建为html文档显示,但是失败了:
编译通过,但是运行时提示下面语句中的方法不存在错误:
Document doc=dom.createDocument("","html",null);

在IDE环境中已经包含jdom-0.8b中的Xerces.jar包,在其中的DOMImplementationImpl类中确实存在方法:
public Document createDocument(String p0, String p1, DocumentType p2) throws DOMException { }
不知为什么还有上述错误?

下面是servlet的部分代码:
----------------------------------
//////DomToHtmlservlet.java:

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import org.w3c.dom.*;
import org.apache.xerces.dom.*;
import org.apache.xml.serialize.*;


public class DomToHtmlservlet extends HttpServlet {
static final private String CONTENT_TYPE = "text/html; charset=GBK";

private static DOMImplementation dom=new DOMImplementationImpl();
private static OutputFormat of=new OutputFormat("html","utf-8",false);
private HTMLSerializer serializer=new HTMLSerializer();


//////////Initialize global variables
public void init() throws ServletException {
}


///////////Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//create the document
Document doc=dom.createDocument("","html",null); //////////错误处
Node html=doc.getFirstChild();

//create the document skeleton
Node head=html.appendChild(doc.createElement("head"));
Node title=head.appendChild(doc.createElement("title"));
title.appendChild(doc.createTextNode("Simple DOM servlet"));
Node body=html.appendChild(doc.createElement("body"));

//create a table
Node table=body.appendChild(doc.createElement("body"));
Node tr=table.appendChild(doc.createElement("tr"));
Node th=tr.appendChild(doc.createElement("th"));
th.appendChild(doc.createTextNode("Parameter Name"));
th=tr.appendChild(doc.createElement("th"));
th.appendChild(doc.createTextNode("Parameter Value"));

//populate the table
Enumeration parameterNames=request.getParameterNames();
while(parameterNames.hasMoreElements()){
String parameterName=parameterNames.nextElement().toString();
tr=table.appendChild(doc.createElement("tr"));
Node td=tr.appendChild(doc.createElement("td"));
td.appendChild(doc.createTextNode(parameterName));
td=tr.appendChild(doc.createElement("td"));
td.appendChild(doc.createTextNode(request.getParameter(parameterName)));
}

//write the document to the servlet's response
serializer.setOutputFormat(of);
serializer.setOutputCharStream(response.getWriter());
serializer.serialize(doc);
}


////////////Clean up resources
public void destroy() {
}
}
...全文
106 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧