以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XML 与 数据库 』  (http://bbs.xml.org.cn/list.asp?boardid=17)
----  大家快来帮帮忙吧!java、jdom、SQL的问题。我都快急死了!!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=17&rootid=&id=47609)


--  作者:xiangrikui321
--  发布时间:5/27/2007 9:44:00 AM

--  大家快来帮帮忙吧!java、jdom、SQL的问题。我都快急死了!!
我刚接触JDOM,安装它之后。在网上找个例子,运行一下,怎么出现这些错误呢?大家帮我看看是哪里出了问题?
这里应用一个转换顾客信息的例子——“顾客基本信息”。我们是把数据放置于MICROSOFT SQL SERVER 2000数据库中,然后运用JSP和JDOM技术动态生成XML实例文档。
在我的WINDOWS2000系统平台上采用TOMCAT5.0、JDK1.5作为开发和测试平台.
数据库用SQL Server 2000。JDOM用的是jdom-b8。大家看看是不是我还有什么工具包没有装啊?在线等待答案!感激。。。

例子:JSP代码 Custom.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.io.*" import org.jdom.output.*;%>
<html>
<body>
<%@page import="org.jdom.*"%>
<%@page import="java.*"%>
<center>

<%
   
    Connection con = com.jspdev.util.DataBaseConnection.getConnection();

   //===========================使用PreparedStatement========//
    Statement stmt=con.createStatement();
   String sql="select * from Custom";   //定义查询的SQL语句

ResultSet rs=stmt.executeQuery(sql);   //执行查询

Document document=new Document(new Element("联系人列表"));//创建文档

ResultSetMetaData rsmd = rs.getMetaData();  //获取字段名

int numberOfColumns = rsmd.getColumnCount(); //获取字段数

int i=0;

while(rs.next()){ //将查询结果取出                        

    Element element0=new Element("联系人");  //创建元素 生成JDOM树

    document.getRootElement().addContent(element0);

    for (i=1; i<=numberOfColumns;i++)

{   String date=new String(rs.getString(i).getBytes("ISO-8859-1"),"gb2312"); //代码转换

    Element element=new Element(rsmd.getColumnName(i)).setText(date);

element0.addContent(element);

}   

  }

rs.close();                            //关闭结果集

stmt.close();                               //关闭statement

con.close();                           //关闭连接

XMLOutputter outp = new XMLOutputter();

outp.output(document, new FileOutputStream("d:\\data.xml")); //输出XML文档

out.print("XML 文档生成完毕!");

%>

<a href="file:///d|/data.xml">点击打开产生的XML文档 </a>

</BODY>

</HTML>
连接数据库代码 DataBaseConnection.java

package com.jspdev.util;
import java.sql.*;
//连接数据库的工具类。
public class DataBaseConnection
{
 /**
  *一个静态方法,返回一个数?
  *这样达到了对数据库连接统一控制递库的连接。哪康摹?
  */
 public static Connection getConnection()
 {
  Connection con=null;
  String CLASSFORNAME="com.microsoft.jdbc.sqlserver.SQLServerDriver";
     String SERVANDDB="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jspdev";
     String USER="sa";
     String PWD="123456";
     try
     {
      
      Class.forName(CLASSFORNAME);
   con = DriverManager.getConnection(SERVANDDB,USER,PWD);
  }
  catch(Exception e)
  {
   e.printStackTrace();
  }
  return con;
 }
}
运行JSP时出现这个错误,大家看看是怎么回事?
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: /Custom.jsp(1,103) equal symbol expected
 org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
 org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
 org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:90)
 org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:193)
 org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:143)
 org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:156)
 org.apache.jasper.compiler.ParserController.getPageEncodingForJspSyntax(ParserController.java:452)
 org.apache.jasper.compiler.ParserController.determineSyntaxAndEncoding(ParserController.java:386)
 org.apache.jasper.compiler.ParserController.doParse(ParserController.java:170)
 org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
 org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
 org.apache.jasper.compiler.Compiler.compile(Compiler.java:495)
 org.apache.jasper.compiler.Compiler.compile(Compiler.java:476)
 org.apache.jasper.compiler.Compiler.compile(Compiler.java:464)
 org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note
The full stack trace of the root cause is available in the Apache Tomcat/5.0.30 logs.

各位同学,棒棒忙吧


--  作者:xiangrikui321
--  发布时间:5/28/2007 8:36:00 AM

--  
问题已经解决,程序一点问题没有,主要是JDOM环境变量的配置出问题!就把我配置的环境变量给大家看一吧,希望能够对刚刚接触的jdom的同学有点帮助!
顺便炫一下,在对程序进行测试了几十次后,结果出来的时候,感觉真爽!!
我用的jdk是jdk1.5.0
calsspath配置=.;D:\Program Files\Java\jdk1.5.0\lib;D:\Program Files\Java\jdk1.5.0\lib\tools.jar;D:\Program Files\Java\jdk1.5.0\jre\lib\ext\jdom.jar;.D:\Tomcat5.5\common\lib\servlet-api.jar

在运行jsp时 把jdom.jar复制到WEB-INF\lib中。
这样就可以了!

程序运行结果:

  <?xml version="1.0" encoding="UTF-8" ?>
- <联系人列表>
- <联系人>
  <Name>??</Name>
  <ID>1</ID>
  <Company>??1</Company>
  <Email>liu@yantai.com</Email>
  </联系人>
- <联系人>
  <Name>??</Name>
  <ID>2</ID>
  <Company>??2</Company>
  <Email>jiu@yantai.com</Email>
  </联系人>
  </联系人列表>


--  作者:wxg319
--  发布时间:3/3/2008 5:18:00 PM

--  
兄弟 : 在么?留个联系方式。我的QQ:185727577,
我想请问一下: 我的模型是XML文本 ,在ORACLE 中怎么调用 。需要相关资料我可以提供 。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms