- 论坛徽章:
- 0
|
我做了一个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="jdbc racle:thin 192.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="jdbc racle:thin 192.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 。不知道为何? 还请高手们多多指教阿! |
|