root cause java.lang.ClassCastException
jkzxDB.Test1.writeXMLFile(Test1.java:79)
~~~根据提示信息,是造型错误。例如
A是B的父类,C是另外一个类,B类有一个test方法返回A。例如:
B lB = new B();
A lA = (C)lB.test();这样就会产生类似的异常。
jkzxDB.Test1.writeXMLFile(Test1.java:79)
~~~根据提示信息,是造型错误。例如
A是B的父类,C是另外一个类,B类有一个test方法返回A。例如:
B lB = new B();
A lA = (C)lB.test();这样就会产生类似的异常。
package jkzxDB;import java.sql.*;
import java.io.*; //Java基础包,包含各种IO操作
import java.util.*; //Java基础包,包含各种标准数据结构操作
import javax.xml.parsers.*; //XML解析器接口
import org.w3c.dom.*; //XML的DOM实现
import org.apache.crimson.tree.XmlDocument;//写XML文件要用到public class Test1 {
String check[];
int length=0;
private String path="";
private int info_id=0;
private String info_Title="";
private String info_Text=""; public void setCheck(String[] a){
check=a;
}
public void setLength(int l){
length=l;
}
public Test1(){
String check[]={"1","2","3"};
}
public void setPath(String p){
path=p;
}
public int getLength(){
return check.length;
} public void writeXMLFile(String outFile) throws Exception {
/*为解析XML作准备,创建DocumentBuilderFactory实例,指定DocumentBuilder*/
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
try { db=dbf.newDocumentBuilder();
} catch (ParserConfigurationException pce) {
System.err.println(pce);
System.exit(1);
}
Document doc = null;
doc=db.newDocument();
/*下面是建立XML文档内容的过程,先建立根元素"学生花名册"*/
Element root = doc.createElement("学生花名册");
/*根元素添加上文档*/
doc.appendChild(root); /*取学生信息的Bean列表*/
//ConnectionBean conn=new ConnectionBean();
//String sql="select * from Info";
//sql=conn.toChinese(sql);
//ResultSet rs=conn.executeQuery(sql);
//while (rs.next()){ /*依次取每个学生的信息*/
//StudentBean studentBean = (StudentBean) student_Vector.get(i);
/*建立"学生"元素,添加到根元素*/
Element student = doc.createElement("学生");
student.setAttribute("编号","123");
root.appendChild(student);
/*建立"姓名"元素,添加到学生下面,下同*/
Element name = doc.createElement("标题");
student.appendChild(name);
Text tName = doc.createTextNode("124");
name.appendChild(tName); Element age = doc.createElement("内容");
student.appendChild(age);
Text tAge = doc.createTextNode("125");
age.appendChild(tAge); /*把XML文档输出到指定的文件*/
FileOutputStream outStream = new FileOutputStream(outFile);
OutputStreamWriter outWriter = new OutputStreamWriter(outStream);
((XmlDocument) doc).write(outWriter);
outWriter.close();
outStream.close();
}}
调用的JSP文件:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>UserBean</title>
</head>
<body>
<%@page language="Java" import="java.sql.*"%>
<%@page language="Java" import="java.util.*"%>
<%@page language="Java" import="javax.xml.parsers.*"%>
<%@page language="Java" import="org.w3c.dom.*"%>
<%@page language="Java" import="org.apache.crimson.tree.XmlDocument"%>
<% request.setCharacterEncoding("gb2312"); %>
<jsp:useBean id="checkInfo" scope="page" class="jkzxDB.Test1"/>
<%
String[] str=request.getParameterValues("checkbox");
String kk[]={"35","36","37","38","39","40"};
checkInfo.setCheck(kk);
int len=checkInfo.getLength();
checkInfo.writeXMLFile("D:\\output100.xml");
out.println(len);
%>
</body></html>
我把bean名为xml_1.java
jsp为:xml_1.jsp
运行结果如下,请帮个忙org.apache.jasper.JasperException: org.apache.xerces.dom.DocumentImpl
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
at java.lang.Thread.run(Thread.java:536)
root cause java.lang.ClassCastException: org.apache.xerces.dom.DocumentImpl
at xml.xml_1.writeXMLFile(xml_1.java:78)
at org.apache.jsp.xml_1_jsp._jspService(xml_1_jsp.java:81)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(