各位高手麻烦帮我看下面这三个文件(一个jsp,两个.java),我在ie输入地址时,提示如下错误(代码应该没有错,不知是不是设置的问题),望高手指教,不胜感激:
d:/program files/apache group/tomcat 4.1/work/standalone/localhost/_/shopping/index_jsp.java:44: package mybean does not exist
mybean.dbconnmanager connmanager = null;
^
an error occurred at line: 2 in the jsp file: /shopping/index.jsp
generated servlet error:
d:/program files/apache group/tomcat 4.1/work/standalone/localhost/_/shopping/index_jsp.java:46: package mybean does not exist
connmanager = (mybean.dbconnmanager) pagecontext.getattribute("connmanager", pagecontext.application_scope);
^
an error occurred at line: 2 in the jsp file: /shopping/index.jsp
generated servlet error:
d:/program files/apache group/tomcat 4.1/work/standalone/localhost/_/shopping/index_jsp.java:49: package mybean does not exist
connmanager = (mybean.dbconnmanager) java.beans.beans.instantiate(this.getclass().getclassloader(), "mybean.dbconnmanager");
^
//下面这两个是连接池,下面两个文件都放在一个mybean的包里.
package mybean;
import java.sql.*;
import java.util.*;
public class dbconnpool {
//正在使用连接的数量
private int using;
//目前可用的连接数,即空闲连接
private vector connections=new vector();
//最大连接数
private int maxconn;
//连接池名
private string poolname;
//数据库标识
private string dbid;
//驱动程序名
private string drivername;
//数据库帐号
private string username;
//数据库密码
private string passwd;
public dbconnpool(string poolname,string dbid,string drivername,
string username,string passwd,int maxconn){
this.poolname=poolname;
this.drivername=drivername;
this.dbid =dbid;
this.username =username;
this.passwd=passwd;
this.maxconn=maxconn;
}
/*将空闲连接返回给连接池*/
public synchronized void returnconnection(connection conn){
//将指定连接加到向量末尾
connections.addelement(conn);
//连接用户减一
using--;
}
/*从连接池得到一个连接*/
public synchronized connection getconnection(){
connection conn = null; //connection是一个类,
//connections是一个向量,用于存储连接对象,它所存储是的所有空闲状态的可用连接
if (connections.size() > 0) {
//获取连接列表的第一个连接
conn = (connection) connections.elementat(0);
connections.removeelementat(0);//获得一个连接,并将此连接从队列中删除.
//如果此连接已关闭,刚继续获取,
try {
if (conn.isclosed())
conn = getconnection();
}
catch (exception e) {
e.printstacktrace();
}
}
//如果实际使用的连接数小于最大连接数即有可用连接),就新增加一个连接
else if (maxconn == 0 || using < maxconn){
//如此时无可用连接(maxconn == 0)且连接数又未达到上限(using < maxconn)),就创建一个新连接
conn=newconnection();
}
//如果连接数已达到上限就返回空指针
if (conn!=null){
using++;
}
return conn;
}
/*创建新的连接*/
public connection newconnection(){
connection conn=null;
try{
//加载驱动
class.forname(drivername);
conn=drivermanager.getconnection(dbid,username,passwd);
}catch(exception e){
e.printstacktrace();
return null;
}
return conn;
}
/*关闭所有连接*/
public synchronized void closeconn(){
enumeration allconnections=connections.elements();
while (allconnections.hasmoreelements()){
connection conn=(connection) allconnections.nextelement();
try{
conn.close();
}catch(sqlexception e){
e.printstacktrace();
}
}
connections.removeallelements();
}
}
package mybean;
import java.sql.*;
import java.util.*;
public class dbconnmanager {
//连接池名列表
private vector poolnames =new vector();
//驱动程序名列表
private vector drivernames=new vector();
//数据库标识列表
private vector dbids=new vector();
//用户名列表
private vector usernames=new vector();
//用户密码列表
private vector passwds=new vector();
//最大连接数列表
private vector maxconns=new vector();
//连接池队列
private hashtable connpools=new hashtable();
public dbconnmanager() {
//添加access数据库的连接信息
poolnames.addelement("access");
drivernames.addelement("sun.jdbc.odbc.jdbcodbcdriver");
dbids.addelement("jdbc:odbc:shopping");
usernames.addelement("");
passwds.addelement("");
maxconns.addelement("5");
//添加sql server2000数据库的连接信息
poolnames.addelement("sqlserver2000");
drivernames.addelement("com.microsoft.jdbc.sqlserver.sqlserverdriver");
dbids.addelement("jdbc:microsoft:sqlserver://localhost:1433;databsername=shopping");
usernames.addelement("");
passwds.addelement("");
maxconns.addelement("5");
//连接mysql数据库信息
poolnames.addelement("mysql");
drivernames.addelement("org.gjt.mm.mysql.driver");
dbids.addelement("jdbc:mysql://localhost/shopping");
usernames.addelement("");
passwds.addelement("");
maxconns.addelement("5");
//连接oracle8i/9i数据库
poolnames.addelement("oracle");
drivernames.addelement("oracle.jdbc.driver.oracledriver");
dbids.addelement("jdbc:oracle:thin:@localhost:1521:shopping");
usernames.addelement("");
passwds.addelement("");
maxconns.addelement("5");
//创建连接池
createpools();
}
/*将连接返回给由指定的连接池*/
public void returnconnection(string name,connection conn){
dbconnpool pool=(dbconnpool) connpools.get(name);
if (pool!=null)
{
pool.returnconnection(conn);
}
}
/*得到一个指定连接池中的连接*/
public connection getconnection(string name){
dbconnpool pool=(dbconnpool) connpools.get(name);
if (pool!=null)
{
return pool.getconnection();
}
return null;
}
/*关闭所有连接*/
public synchronized void closeconns(){
enumeration allpools=connpools.elements();
while (allpools.hasmoreelements()){
dbconnpool pool=(dbconnpool) allpools.nextelement();
pool.closeconn();
}
}
/*创建连接池*/
private void createpools(){
for (int i=0;i<poolnames.size();i++)
{
string poolname=poolnames.elementat(i).tostring();
string drivername=drivernames.elementat(i).tostring();
string dbid=dbids.elementat(i).tostring();
string username=usernames.elementat(i).tostring();
string passwd=passwds.elementat(i).tostring();
int maxconn=0;
try{
maxconn=integer.parseint(maxconns.elementat(i).tostring());
}catch (numberformatexception e){
e.printstacktrace();
}
dbconnpool pool=new dbconnpool(poolname,drivername,dbid,username,
passwd,maxconn);
connpools.put(poolname,pool);
}
}
}
下面这个是主页面.jsp文件
<%@ page contenttype="text/html; charset=gbk" %>
<%@ page import ="java.sql.*" %>
<jsp:usebean id="connmanager" scope="application" class="mybean.dbconnmanager" />
<html>
<head>
<title>
购物商城首页
</title>
</head>
<body bgcolor="#b0c4de">
<center><h1>欢迎访问本购物商城</h1></c
闽公网安备 35060202000074号