日期:2014-05-17  浏览次数:20721 次

为什么我在servlet里面用dom4j写的代码老是报错?
本帖最后由 u010239616 于 2013-12-03 11:48:47 编辑
package json;


import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

public class xmljson extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletExceptionIOException
{
String name = req.getParameter("name");
Gbean g = new Gbean();
if(name.equals("zhangsan"))
{
g.setName("zhangsan");
g.setAge(20);
}
else
{
g.setName("lishi");
g.setAge(30);
}

Document document = DocumentHelper.createDocument();
Element root = DocumentHelper.createElement("users");
document.add(root);
root.addComment("This is a xml!");
Element n = DocumentHelper.createElement("name");
root.add(n);
Element a = DocumentHelper.createElement("age");
root.add(a);
n.setText(g.getName());
a.setText(String.valueOf(g.getAge()));
OutputFormat format = OutputFormat.createPrettyPrint();
//传输xml时要设置类型
resp.setContentType("text/xml,charset=utf-8");
//阻止浏览器的缓存
resp.setHeader("pragma", "no-cache");
resp.setHeader("cache-control", "no-cache");

PrintWriter out = resp.getWriter();
XMLWriter xmlWriter = new XMLWriter(out,format);
xmlWriter.write(document);
out.flush();
}
}



这是错误代码:
十二月 03, 2013 11:42:37 上午 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [xmljson] in context with path [/test] threw exception [Servlet execution threw an exception] with root cause
java.lang.NoClassDefFoundError: org/dom4j/DocumentHelper
at json.xmljson.doGet(xmljson.java:37)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardH