package com.ldci.t35.group01.admin.db.conn;
import java.io.*;
import java.sql.*;
import java.util.*;
import com.ldci.t35.group01.admin.common.Tools;
//import com.ldci.t25.group00.admin.common.Tools;
/*连接池管理类,可以管理多个数据库连接池*/
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 static Hashtable connPools = new Hashtable();
static DBConnManager instance;
public DBConnManager() {
try {
// 这样写是可以的,运行时有可能报null错误,要用/
// /代表是WEB-INF\classes;
InputStream is = getClass().getResourceAsStream(
"/com/ldci/t35/group01/admin/db/db.properties");
Properties pro = new Properties();
pro.load(is);
// 添加数据库的连接信息
poolnames.addElement("mssql");
drivernames.addElement(pro.getProperty("drivers"));
dbids.addElement(pro.getProperty("dbids"));
usernames.addElement(pro.getProperty("user"));
passwds.addElement(pro.getProperty("password"));
maxconns.addElement(pro.getProperty("maxconns"));
} catch (Exception e) {
Tools.writeLog(e);
}
// 创建连接池
createPools();
}
/* 将连接返回给由指定的连接池 */
public void releaseConnection(String name, Connection con) {
DBConnPool pool = (DBConnPool) connPools.get(name);
if (pool != null)
pool.releaseConnection(con);
}
/* 得到一个指定连接池中的连接 */
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();
System.out.println(username);
int maxconn = 0;
try {
maxconn = Integer.parseInt(maxconns.elementAt(i).toString());
} catch (NumberFormatException e) {
Tools.writeLog(e);
}
DBConnPool pool = new DBConnPool(poolname, drivername, dbid,
username, passwd, maxconn);
connPools.put(poolname, pool);
}
}
public static int getLinkNum(String name) {
DBConnPool pool = (DBConnPool) connPools.get(name);
return pool.getInUse();
}
static synchronized public DBConnManager getInstance() {
if (instance == null) {
System.out.println("shi ");// 判断本类的静态实例对象是否有值
instance = new DBConnManager(); // 没有:生成一个本类的实例
}
return instance; // 返回本类的实例对象
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
JSP后台管理系统新闻的增删改查
共624个文件
gif:274个
jpg:87个
class:50个
4星 · 超过85%的资源 需积分: 49 64 下载量 136 浏览量
2015-07-09
14:31:28
上传
评论 4
收藏 17.92MB ZIP 举报
温馨提示
完整代码 例子模板 有注释 能运行 Java JSP 后台管理系统 新闻增删改查
资源推荐
资源详情
资源评论
收起资源包目录
JSP后台管理系统新闻的增删改查 (624个子文件)
TableSelect.class 4KB
DBConnManager.class 4KB
NewsBusiness.class 3KB
T35Group01GameingAllServlet.class 3KB
T35Group01NewsAllServlet.class 3KB
DBConnPool.class 3KB
Tools.class 3KB
Mail.class 3KB
T35Group01NewsServlet.class 3KB
T35Group01ListNewsServlet.class 3KB
Log4j.class 3KB
T35Group01ListGameServlet.class 3KB
T35Group01listServlet.class 2KB
AdminBusiness.class 2KB
TableModify.class 2KB
T35Group01AdminServlet.class 2KB
T35Group01InsernewsServlet.class 2KB
T35Group01ModifyUserServlet.class 2KB
T35Group01GamingServlet.class 2KB
NewsBusiness.class 2KB
T35Group01DeletUsersServlet.class 2KB
T35Group01UpdateGameServlet.class 2KB
T35Group01DeleteNewsServlet.class 2KB
AddBusiness.class 2KB
UserlistBusiness.class 2KB
ListGameBusiness.class 2KB
ListNewsBusiness.class 2KB
T35Group01AddServlet.class 2KB
T35Group01newsServlet.class 2KB
InseretNewsBusiness.class 2KB
InsertNewsBusiness.class 2KB
GamingBusiness.class 2KB
DeletUsersBusiness.class 2KB
UpdateGameBusiness.class 1KB
ModifyUserBusiness.class 1KB
DeleteNewsBusiness.class 1KB
News.class 1KB
ListNews.class 1KB
InsertNews.class 1KB
Admin.class 1KB
ModifyUser.class 1KB
ListGames.class 1KB
Gaming.class 1KB
DeleteNews.class 1KB
UpdateGame.class 1KB
News.class 1KB
DeletUsers.class 1KB
Userlist.class 1KB
StrDate.class 995B
Add.class 779B
.classpath 3KB
css.css 16KB
css.css 16KB
style.css 11KB
style.css 11KB
head.css 6KB
head.css 6KB
control.css 5KB
control.css 5KB
common1.css 4KB
common1.css 4KB
global.css 4KB
global.css 4KB
style0.css 1KB
style0.css 1KB
admin.css 814B
admin.css 814B
user.css 436B
user.css 436B
style.css 98B
Thumbs.db 133KB
Thumbs.db 133KB
Thumbs.db 120KB
Thumbs.db 120KB
Thumbs.db 14KB
Thumbs.db 14KB
dwr20.dtd 5KB
Entries 738B
Entries 271B
Entries 183B
Entries 146B
Entries 112B
Entries 60B
Entries 47B
Entries 41B
Entries 38B
Entries 30B
Entries 28B
Entries 27B
Entries 27B
Entries 12B
Entries 11B
Entries 11B
Entries 0B
Entries 0B
Entries 0B
welcome.gif 164KB
welcome.gif 164KB
top03.gif 23KB
top03.gif 23KB
共 624 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
- 小太阳大班班草2018-08-01不错,适合学习
- qq_337018542016-07-24不错,适合学习,继续支持
吧主
- 粉丝: 1244
- 资源: 131
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功