问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jsp连接池连接sql server是怎么实现的?

发布网友 发布时间:2022-04-14 23:22

我来回答

2个回答

热心网友 时间:2022-04-15 00:51

1.将数据库驱动程序的JAR文件放在Tomcat的 common/lib 中;
2.在server.xml中设置数据源,以MySQL数据库为例,如下:
在<GlobalNamingResources> </GlobalNamingResources>节点中加入,
<Resource
name="jdbc/DBPool"
type="javax.sql.DataSource"
password="root"
driverClassName="com.mysql.jdbc.Driver"
maxIdle="2"
maxWait="5000"
username="root"
url="jdbc:mysql://127.0.0.1:3306/test"
maxActive="4"/>
属性说明:name,数据源名称,通常取”jdbc/XXX”的格式;
type,”javax.sql.DataSource”;
password,数据库用户密码;
driveClassName,数据库驱动;
maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连
接将被标记为不可用,然后被释放。设为0表示无*。
MaxActive,连接池的最大数据库连接数。设为0表示无*。
maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示
无*。
3.在你的web应用程序的web.xml中设置数据源参考,如下:
在<web-app></web-app>节点中加入,
<resource-ref>
<description>MySQL DB Connection Pool</description>
<res-ref-name>jdbc/DBPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
子节点说明: description,描述信息;
res-ref-name,参考数据源名字,同上一步的属性name;
res-type,资源类型,”javax.sql.DataSource”;
res-auth,”Container”;
res-sharing-scope,”Shareable”;
4.在web应用程序的context.xml中设置数据源链接,如下:
在<Context></Context>节点中加入,
<ResourceLink
name="jdbc/DBPool"
type="javax.sql.DataSource"
global="jdbc/DBPool"/>
属性说明:name,同第2步和第3步的属性name值,和子节点res-ref-name值;
type,同样取”javax.sql.DataSource”;
global,同name值。

至此,设置完成,下面是如何使用数据库连接池。
1.建立一个连接池类,DBPool.java,用来创建连接池,代码如下:
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

public class DBPool {
private static DataSource pool;
static {
Context env = null;
try {
env = (Context) new InitialContext().lookup("java:comp/env");
pool = (DataSource)env.lookup("jdbc/DBPool");
if(pool==null)
System.err.println("'DBPool' is an unknown DataSource");
} catch(NamingException ne) {
ne.printStackTrace();
}
}
public static DataSource getPool() {
return pool;
}
}

2.在要用到数据库操作的类或jsp页面中,用DBPool.getPool().getConnection(),获得一个Connection对象,就可以进行数据库操作,最后别忘了对Connection对象调用close()方法,注意:这里不会关闭这个Connection,而是将这个Connection放回数据库连接池。

参考资料:百度搜索。

热心网友 时间:2022-04-15 02:09

楼上回答底不错哦
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
三七粉贵吗多少钱一斤 三七粉多少钱一斤 万达有什么app 如何避免好学生成为心态受害者? 为什么好学生心态会害了自己呢? 好学生心态受害者是怎样一种存在? 好学生心态有什么影响? 好学生心态受害者是指什么意思? “好学生心态受害者”是指哪些人? 好学生心态受害者是指谁呢? 好学生心态受害者是指什么人? 居民养老保险网上怎么缴费 华为荣耀8锁屏后状态下QQ不提醒消息怎么办 《我的世界》手机版做暮色森林传送门任务的时候怎么扔钻石? 我的世界手机版怎样做暮色森林传送门 皮肤黄偏白,想要皮肤白一点。选择ysl的气垫bb10号还是20号? 我的世界手机版暮色森林传送门怎么做? 大天蓬歌词表达什么感情 怕什么天道轮回 什么魄散魂飞 若没有你那才叫可悲 这首是什么歌曲?求歌名完整版 古风歌曲,只记得歌词里有,天虽阔,三个字? 大天蓬中间加了一句不走小道是谁唱的? 一首中文歌,歌词是:怕什么猩猩乌龟?什么事与愿违 关什么破散魂飞,关什么天道轮回是哪首歌的歌词? 天道轮回是什么歌 怕什么天道轮回什么魄散魂飞没有你那才叫可悲是什么歌? 怕什么天道轮回什么魄散魂飞什么歌 每天晚上腿总是抽筋那是为什么,不是因为冷 睡觉腿老抽筋 为什么我的腿天天夜里都抽筋 晚上睡觉腿老是抽筋怎么回事情 我老妈晚上睡觉时总是腿抽筋,每晚二三次,是什么原因? 梦见儿子被已故的父亲背着还被大雨淋湿了全身,我在老家做饭烧的却是白纸 梦见已故爸爸背着我儿子在走 一个人可有几张农行信用卡 梦见已经去世好多年的父亲背着一个小孩在买菜? 地理的记忆方法 青海晶彩文化传媒有限公司怎么样? 青海雪瑞工贸科技有限公司怎么样? 怎样记忆地理知识 青海虎翼文化传媒有限公司怎么样? 好心的人们给我帮助,找一下青海所有景点的导游词! 地理学习方法有哪些 想找家教,在那儿登报那,青海西宁。 关于创建文明城市的作文。大美青海西海岸新区 地理有什么学习方法 青海省医保办咨询电话是什么 怎样背地理速度最快记忆又最好 青海省西宁哪儿有硕士研究生考试培训班? 2010年青海民族大学在校大学生可以参军吗?怎么报名?学校保卫科一问三不知啊!急需答案!谢谢! 我想资助他们,但怎样才能联系到失学儿童? 请问师姐师哥们,自考毕业证现在已经四审,大概什么时候可以在学信网上查到啊?