在tomcat下配置jdbc连接池点滴

新手配置tomcat下的mysql jdbc连接池,有点折腾,先按书上的说法照葫芦画瓢,无果,又按网上搜索出来居多资料操作,无果,后请同事王兄帮忙,遂成功,大悦!
先说一下环境,具体软件如下:
apache-tomcat-6.0.35-windows-x86.zip
mysql-5.5.17-win32.zip
myeclipse-8.5.0-win32.exe
mysql-connector-java-5.1.16-bin.jar

可行配置如下:

1 在Tomcat的conf文件夹下的context.xml文件内进行配置,配置内容如下:
<Resource name="jdbc/TestJavaWeb"
auth="Container"
type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password="hammer"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mysql?autoReconnect=true"
factory = "org.apache.dbcp.BasicDataSourceFactory"
characterEncoding="utf-8">
</Resource>
2 然后在Web程序的web.xml文件中配置数据源引用。配置代码如下:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/TestJavaWeb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
3 获取数据源连接对象,获取代码如下:
/**
* 获得数据源
*
* @return
* @throws NamingException
* @throws SQLException
*/
public Connection getConnection() throws NamingException, SQLException {
Connection conn = null;
Context initContext = new InitialContext(); // 实例化一个InitialContext
Context envContext = (Context) initContext.lookup("java:/comp/env"); // 获取所有的资源
DataSource ds = (DataSource) envContext.lookup("jdbc/TestJavaWeb"); // 获取JNDI数据源

conn = ds.getConnection();
return conn;

}
4.我的jsp文件主要测试代码如下:

<%@page import="java.sql.*"%>
<%@page import="javax.sql.DataSource"%>
<%@page import="javax.naming.*"%>


<%
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx
.lookup("java:comp/env/jdbc/TestJavaWeb");
Connection conn = ds.getConnection();
Statement state = conn.createStatement();
String sql = "select user from user";
ResultSet rs = state.executeQuery(sql);

while (rs.next()) {
out.println(rs.getString(1) + "--<tr>");
out.println(rs.getString(1) + "--<tr>");
out.println(rs.getString(1) + "<br>");
}

rs.close();
state.close();
conn.close();
%>

 

 

转载于:https://www.cnblogs.com/ventry/archive/2012/03/13/2394047.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值