配置Tomcat7 Sqlserver连接池。

配置Tomcat7 Sqlserver连接池。,第1张

请参考

首先配置:META-INF/context.xml:

<?xml version="1.0" encoding="UTF-8"?>

<Context path="" reloadable="true" crossContext="true">

<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"

maxActive="100" maxIdle="30" maxWait="10000" username="root" password="root"

driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/db_name" />

</Context>

再配置:WEB-INF/web.xml:在web-app元素下

<resource-ref>

<description>DB Connection</description>

<res-ref-name>jdbc/TestDB</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

程序:

InitialContext ctx = new InitialContext()

Context envContext = (Context) ctx.lookup("java:comp/env")

DataSource ds = (DataSource) envContext.lookup("jdbc/TestDB")

Connection conn = ds.getConnection()

Statement stmt = conn.createStatement()

stmt.execute(“执行的SQL语句”)

stmt.close()

conn.close()

至少9个。

dataSource: 要连接的 datasource (通常我们不会定义在 server.xml)

defaultAutoCommit: 对于事务是否 autoCommit, 默认值为 true

defaultReadOnly: 对于数据库是否只能读取, 默认值为 false

driverClassName:连接数据库所用的 JDBC Driver Class,

maxActive: 可以从对象池中取出的对象最大个数,为0则表示没有限制,默认为8

maxIdle: 最大等待连接中的数量,设 0 为没有限制 (对象池中对象最大个数)

minIdle:对象池中对象最小个数

maxWait: 最大等待秒数, 单位为 ms, 超过时间会丢出错误信息,-1为无限制

password: 登陆数据库所用的密码

Tomcat7.0配置连接池的步骤:

第一步:在Tomcat的配置文件Tomcat7.0\conf\context.xml中添加信息:

<Context>

<Resource

name="jdbc/drp"

type="javax.sql.DataSource"

driverClassName="oracle.jdbc.driver.OracleDriver"

maxIdle="2"

maxWait="5000"

username="drp"

password="drp"

url="jdbc:oracle:thin:@localhost:1521:bjpowernode"

maxActive="4"/>

</Context>

第二步:把配置文件context.xml剪切到webRoot/META-INF中。(若是只有一个项目使用连接池的话,则剪切到使用连接池项目webRoot/META-INF中。若是多个项目都使用连接池,则不进行 *** 作第二步。)

第三步:则在程序中获得连接:

//new DBcP pool

Context ctx=new InitialContext()

//通过JNDI查找DataSource

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

conn=ds.getConnection()

其中第一步中的上下文context.xml中的参数的解析如下:

其中的name属性是数据源名称,通常采取jdbc/**.

type属性是数据源方式。

driverClassName属性是驱动程序名称。(此文中是oracle驱动程序)

username,password,数据库名称和密码

url:访问的数据库路径。其中url的内容组成解析上篇博客中已经分析——Oracle安装以及测试Oracle数据库

maxActive属性是并发连接的最大数。设置为0则无限制。

maxWait属性是等待连接的最大连接的时间。

maxIdle属性是连接池中空闲的连接的个数。

上文中的设置的 maxActive="4"说明可以最大连接的个数为4个,再建立连接,则出现异常。

而maxIdle="2"说明当关闭数据库时(不是真正的断开连接,而是归还连接池中)连接池中最大可以有空闲的连接数为2个。

若是再有建立连接,此时若连接池中没有空闲的连接,但是又没有达到maxActive并发的最大连接数,则在连接池中建立连接。

ps:有些教材Tomcat配置连接池,需要在Tomcat/lib中加入驱动包ojbc14.jar.但是自己在Tomcat7.0下配置连接池时,没有加入驱动jar包依然运行正常。

1、安装mysql,并创建数据库和数据表,并插入用户名和密码。

2、然后安装tomcat。

3、修改默认端口号为8010。

4、数据库驱动放到目录:D:\Program Files\Apache Software Foundation\Tomcat 8.0\lib。

5、修改文件tomcat-users.xmlD:\Program Files\Apache Software Foundation\Tomcat 8.0\conf\tomcat-users.xml。

6、浏览器中输入:http://localhost:8010/testjdbc.jsp,验证tomcat能否连接mysql,testjdbc.jsp的信息如下所示。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9685008.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存