java 数据源调用_tomcat下数据源的配置、解释和调用方法

3) res-type  资源类型。见上面的

为了方便做解释直接在JSP中使用资源:

这是在$CATALINA_HOME/webapps/test下的某级子目录里的jsp网页文件部分代码:

………………

………………

// 数据库操作

Context ctx=null;

Connection cnn=null;

Statement stmt=null;

ResultSet rs=null;

try

{

ctx=new InitialContext();

if(ctx==null)

throw new Exception("没有匹配的环境");

DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/connectDB");

if(ds==null)

throw new Exception("没有匹配数据库");

cnn=ds.getConnection();

stmt=cnn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

rs=stmt.executeQuery("select * from table1");

………………

………………

}

finally

{

if(rs!=null)

rs.close();

if(stmt!=null)

stmt.close();

if(cnn!=null)

cnn.close();

if(ctx!=null)

ctx.close();

}

%>

代码说明:

DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/connectDB");

上面这句应用了刚才设的资源。

资源使用完要释放,尤其是Context资源,见try-catch-finally部分的finally代码段,这是一种好的习惯。资源释放时如果释放了上级资源,下级资源将先被释放。如:释放了ctx,那么资源释放顺序将是rs,stmt,cnn,ctx。换句话说,如果释放了ctx,那么rs,stmt和cnn都将不可用了。

这里的释放资源只是将数据库连接返回连接池中,并不是把资源真正释放掉,见数据库连接池概述。

Datasource对象是由Tomcat提供的,因而需要使用JNDI来获得Datasouce

在Javax.naming 中提供了Context接口,

数据源的配置涉及到Server.xml和web.xml,需要在server.xml中加入如下内容:说明一下:我的数据库是MYsql

type="javax.sql.DataSource"/>

\\数据源的名称

usernameroot数据库的名称

passwordpassword数据库密码

driverClassName

org.gjt.mm.mysql.Driver\\要加载的驱动

url

jdbc:mysql://172.20.0.73/rk?\\要连接的URL

具体还有一些详细的选项例如:MaxActive等,参加Server.xml中说明

另外在Web.xml中加入如下内容:

test connection\\描述

jdbc/testDB\\名称与上对应

javax.sql.DataSource\\与上对应

Container\\与上一置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值