想深入了解下,使用数据源和连接池的具体操作含义。找了很多资料都没有详细的描述,想问下大家一点疑问。
如下:
方式一:在tomcat的context.xml中添加了如下代码
<Resource name="jdbc/oracleds" auth="Container" type="javax.sql.DataSource" username="scott" password="abcd" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@192.168.1.100:1521:ora9"/>
方式二:在tomcat的context.xml中添加了如下代码
<Resource name="jdbc/oracleds" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30"
maxWait="10000" username="scott" password="abcd" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@192.168.1.100:1521:ora9"/>
-------------------------------------------
问题:
如果采用方式一配置的话,是否只是按照jndi规范进行一般数据源的创建。
如果采用方式二配置的话,是否按照jndi规范进行了数据连接池的创建。
如果采用方式一的话,我再java文件中编写的连接代码应该如下(未实践过,吃晚饭后再试)
参考:http://hi.baidu.com/lurim/blog/item/963bdef5101a6d64ddc4749f.html
我看人家是可以的:
Context ctx=new InitialContext();
DataSource ds=(Datasource)ctx.lookup("java:jdbc/oracleds");
conn=ds.getConnection();
------------------------------------------------
如果采用方式二的话,代码应该如下:
Context ctx=new InitialContext();
Context env=(Context)ctx.lookup("java:comp/env");
DataSource ds=(DataSource)env.lookup("jdbc/oracleds");
con=ds.getConnection();
----------------------------------
问题来了:
根据我理解,jndi封装了我们要对数据源的连接内容,只是提供了简单的数据源的名称,我们就可以进行连接了。
“Context对象表示JDNI共享目录;lookup方法是Context对象的主要方法,根据一个对象的JNDI共享名获得这个对象本身,返回Object”
参考:http://bbs.accp168.com/bbs/frame.php?frameon=yes&referer=http%3A//bbs.accp168.com/bbs/redirect.php%3Ffid%3D7%26tid%3D3660%26goto%3Dnextoldset
根据上面的话,应该是使用方式一的java代码就可以访问连接池的啊,为什么会多出一条Context env=(Context)ctx.lookup("java:comp/env");
创建的env到底是什么东东啊。
Context env,应用程序上下文对象,java:comp/env 没记错的话,是tomcat在jndi注册的目录名
eg:
public class DataConn {
private String sDBDriver = "com.mysql.jdbc.Driver";
private String sConnStr = "jdbc:mysql://localhost:3306/test";
private String username = "root";
private String password = "comtowerbgpserverDataconn";
private Connection conn = null;
private Statement stmt = null;
private ResultSet rs = null;
public Connection getConnection() {
try {
Class.forName(sDBDriver);
conn = DriverManager.getConnection(sConnStr, username, password);
//上面是直接连接的方法,下面是使用连接池连的方法
// Context initCtx;
// Context ctx;
// Object obj;
// try {
// initCtx = new InitialContext();
// ctx = (Context) initCtx.lookup("java:comp/env");
// obj = (Object) ctx.lookup("jdbc/GwtSample");
// javax.sql.DataSource ds = (javax.sql.DataSource) obj;
// conn = ds.getConnection();
// } catch (NamingException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (SQLException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
tomcat的server.xml
<Context path="" docBase="D:\bgpwww\aaa" >
<Resource name="jdbc/GwtSample" auth="Container"
type="javax.sql.DataSource"
username="root"
password="root"
driverClassName="com.mysql.jdbc.Driver"
maxIdle="200"
maxActive="200"
url="jdbc:mysql://localhost:3306/database"/>
</Context>
分享到:
相关推荐
Tomcat连接池配置oracle,MSSQLserver数据库,以及在java应用程序的的引用,附带了 对应的jar包
mysql+tomcat连接池配置介绍
NULL 博文链接:https://zhaoningbo.iteye.com/blog/1119504
java连接池的配置 里面有C3P0连接池在tomcat中的详细配置 Java反射机制总结,tomcat下配置数据库连接池DBCP、C3P0、Proxool 总结spring下配置dbcp,c3p0,proxool数据源链接池
教你如何在tomcat下配置数据库连接池
详细介绍Tomcat6的连接池配置,且数据库断开连接池可以自动重连,一看便会。
使用tomcat配置java数据库连接池
Tomcat连接池配置四步走 Tomcat6根目录下, conf文件夹下面:修改context.xml文件
在配置 Oracle 连接池时,需要在 Tomcat 的配置文件中添加相应的配置信息。在 conf 目录下的 context.xml 文件中添加以下配置: ```xml ``` 这个配置文件中,定义了一个名为 jdbc/news 的数据源,使用 Oracle ...
tomcat数据库连接池配置网上文章&csdn上的代码tomcat数据库连接池配置网上文章&csdn上的代码tomcat数据库连接池配置网上文章&csdn上的代码tomcat数据库连接池配置网上文章&csdn上的代码tomcat数据库连接池配置网上...
关于Tomcat连接池的配置方法
在 Tomcat 中,可以通过 conf/context.xml 文件来配置数据库连接池,具体配置方法如下: 1. 在 context.xml 文件中添加 Resource 元素,用于配置数据库连接池。 2. 在 Resource 元素中,指定数据库连接池的名称、...
tomcat 6.X 连接池的配置
服务器等软件的配制 Jsp中文乱码解决方案 上传与下载 Hibernate 参数设置.txt MD5_Encoding.java Struts2中三种表达式符号的用法.txt
根据Tomcat官方网站做的Tomcat-Mysql连接池配置实例。里面有用到的所有的包,还有context.xml,web.xml,test.jsp等。 mysql-connector-java-5.1.8-bin.jar 放到D:\Program Files\apache-tomcat-6.0.16\lib下,我用的...
java 数据库 连接池 jsp mysql oracle jdbc tomcat
Tomcat7 和 MySQL 连接池的配置方法和测试 Tomcat7 是一个基于 Java 的开源 Web 服务器软件,它可以与 MySQL 数据库集成,通过连接池机制来提高数据库访问效率。在本文中,我们将详细介绍 Tomcat7 和 MySQL 连接池...
java代码编写缓存方法,tomcat内存配置,连接池设定
Tomcat 5.5数据库连接池配置
此文件为个人内部文件,十个人对java web开发的总结,希望对各位朋友有所帮助