免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1544 | 回复: 7
打印 上一主题 下一主题

求助:java类的引用问题??? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-12-02 12:54 |只看该作者 |倒序浏览
我做了一个jsp,通过调用调用bean来连接数据库并查找数据;运行时报的exception为:java.lang.NoClassDefFoundError: org/jdom/Content
at xmlbean.exeSqlBean.Initialization(exeSqlBean.java:122)
javax.servlet.ServletException: org/jdom/Content
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:471)

bean的源代码如下:
=================================


/**
* <p>;Title: </p>;
* <p>;Description: </p>;
* <p>;Copyright: Copyright (c) 2004</p>;
* <p>;Company: </p>;
* @author not attributable
* @version 1.0
*/
package xmlbean;
//import xmlbean.xmlBean;
import java.text.*;
import java.util.*;
import java.sql.*;
import java.io.*;
import oracle.jdbc.driver.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;

public class exeSqlBean{
private String sDbdriver = "";
private String sConnStr ="";
private String suser="";
private String spass="";
private String sHint="";
private ResultSet rs=null;
private Statement stmt=null;
private Connection conn=null;
private boolean flag_instance=false;

private class xmlBean {
        private String dbDriver;
        private String dbConn;  
        private String ip;
        private String port;
        private String protocol;
        private String service_name;
        private String docname = "db_info.xml";

        public xmlBean(String docname)
        {
                if(docname!=null || !docname.equals("") this.docname=docname;
                if (docname.endsWith(".xml")
                {
                        String temp = docname.substring(1, docname.lastIndexOf(".");
                        try{
                                SAXBuilder sb=new SAXBuilder();
                                //创建文档
                                Document doc=sb.build(new FileInputStream(docname));
                                //加入一条处理指令
                                ProcessingInstruction pi = new ProcessingInstruction("xml-stylesheet","href=\""+temp+".html.xsl\" type=\"text/xsl\"";
                                //把这条处理指令,加入文档中
                                doc.addContent(pi);
                                //获得这个文档得跟元素
                                Element el=doc.getRootElement();
                                //获得这个跟元素,的所有子元素
                                List ls=el.getChildren();
                                //得到第一个子元素
                                Element db=(Element)ls.get(0);
                                Element el2=db.getChild("dbDriver";
                                this.dbDriver = el2.getText();
                                //再指定元素获得这个值
                                Element el3=db.getChild("dbConn";
                                //给这个值换个值
                                this.dbConn = el3.getText();
                        }catch(Exception e){
                                System.out.println("xml read error:"+e.toString());
                        }
                }               
        }

        public String getDBDriver()
        {
                return dbDriver;
        }

        public String getDBConn()
        {
                return dbConn;
        }
} ;




private xmlBean dbreader = null;

public String getHint()
{
        return sHint;
}

public void setDBDriver(String s)
{
        sDbdriver=""+s;
}

public String getDBDrive()
{
        return sDbdriver;
}

public void setConnStr(String s)
{
        sConnStr=""+s;
}

public String getConnStr()
{
        return sConnStr;
}

public ResultSet getResultSet()
{
        return rs;
}

public boolean Initialization(String docname,String user, String pass)
{
        dbreader = new xmlBean(docname);
            sDbdriver = dbreader.getDBDriver();       
                sConnStr = dbreader.getDBConn();
        suser=user;
        spass=pass;
                if (sDbdriver==null || sConnStr==null)
                {
                       
                        System.out.println("没有获得数据库驱动信息!";
                        return false;
                }
                if (suser==null || spass==null)
                {
                        System.out.println("用户名密码错";
                        return false;
                }

        try{
                Class.forName(sDbdriver);
                conn = DriverManager.getConnection(sConnStr,suser,spass);
                sHint="Initiaalization sucessfully";
                flag_instance=true;
                return true;
        }
        catch(java.lang.ClassNotFoundException e)
        {
                sHint=""+e.toString();
                return false;
        }catch(java.sql.SQLException sex)
        {
                sHint=""+sex.toString() ;
                return false;
                    }
                    finally{
                            if(!flag_instance)
                            {
                                    sHint=sHint+"\n entered finally!";
                                    sHint=sHint+"\n sDbdriver "+sDbdriver+"sConnStr "+sConnStr+"suser "+suser+"spass "+spass;
                                    return false;
                                   
                            }
                            return true;
                    }
               
}


public ResultSet executeQuery(String sql)
{
        rs = null;
               
       try
        {                //Class.forName("oracle.jdbc.driver.OracleDriver".newInstance();
                        //        String url="jdbcracle:thin192.168.1.150:1521:cpzb";
                        //        conn = DriverManager.getConnection(url, suser, spass);
                        //        System.out.println("real:"+url);
               //conn = DriverManager.getConnection(sConnStr, suser, spass);
                          
               stmt= conn.createStatement();
               rs = stmt.executeQuery(sql);
                               
                }catch(SQLException ex){
                sHint = "executeQuerry:"+ex.toString();
        }
        finally{
                if(rs==null) {sHint=sHint+"所查数据不存在,请重新输入"; return null;}
                return rs;
        }
        
}

public boolean executeUpdate(String sql)
{
        try
        {        //String url="jdbcracle:thin192.168.1.150:1521:cpzbbak";
               // conn=DriverManager.getConnection(url, suser, spass);
                stmt=conn.createStatement();
                stmt.executeUpdate(sql);
                return true;
        }catch (SQLException ex)
        {
                sHint="executeUpdat:"+ex.toString();
                return false;
        }
}

public boolean closeConn()
{
        try{
                if(rs!=null)
                        rs.close();
                if(stmt!=null)
                        stmt.close();
                if(conn!=null)
                        conn.close();
                return true;
        }catch(SQLException ex)
        {
                sHint="closeconn:"+ex.getMessage();
                return false;
        }
}

}

其中内部类xmlBean我已经测试过,好用的。我把它拿到外面也不管用。还是报同样的exception 。不知道为何? 还请高手们多多指教阿!

论坛徽章:
0
2 [报告]
发表于 2004-12-02 13:06 |只看该作者

求助:java类的引用问题???

org/jdom/Content ==xmlbean.xmlbean ?

论坛徽章:
0
3 [报告]
发表于 2004-12-02 13:29 |只看该作者

求助:java类的引用问题???

可是我已经把//import xmlbean.xmlBean; 这句话注释掉了阿?(因为以前我是在xmlbean目录下定义的单独一个外部类,后来改在exeSqlBean里面定义,import去掉,也不行,为什么阿?)

论坛徽章:
0
4 [报告]
发表于 2004-12-02 17:42 |只看该作者

求助:java类的引用问题???

报的错是说找不到jdom的一个Content类的定义,你把jdom的jar文件放在哪里了?

论坛徽章:
0
5 [报告]
发表于 2004-12-02 18:23 |只看该作者

求助:java类的引用问题???

我放在了c:\j2sdk\lib下了阿! 我把xmlbean单独拿出来做了一个小的测试程序,读取xml文件也正常阿?

论坛徽章:
0
6 [报告]
发表于 2004-12-02 18:39 |只看该作者

求助:java类的引用问题???

我又试着把它放在了tomcat的common\lib下也不行?苦恼,郁闷,不知道从何处找原因拉!!!

论坛徽章:
0
7 [报告]
发表于 2004-12-02 23:20 |只看该作者

求助:java类的引用问题???

放在tomcat\common\lib 运行的时候没问题,但是编译的时候你要专门指定 javac -cp .;c:\tomcat\common\lib\jdom.jar .....
要么,就干脆放在  j2sdk-1.4.2_06\jre\lib\ext

论坛徽章:
0
8 [报告]
发表于 2004-12-03 09:39 |只看该作者

求助:java类的引用问题???

放到\web-inf\lib\下,
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP