Tomcat中配置数据源和连接池
来源:互联网 发布:vmware10安装ubuntu 编辑:程序博客网 时间:2024/05/16 14:10
(1)为什么需要配置数据源和连接池?
我们知道在每次java程序俩接数据库的时候我们都需要请求连接数据库然后打开读取数据然后关闭,
这样使得每一个用户访问的时候都需要服务器做出相应,这样的话服务器端承受巨大的压力,如此效率就会下降,
为了解决这个问题我们可以让数据库提前打开连接等待用户连接当有用户连接的时候,就把数据库已存在的连接 给用户即可
而我们就把这条连接叫做“连接池” 当连接池中的连接足够的话 就分给用户,如果不够用户则在”|队列池“中等待;
(2)实现过程:
方法一:通过配置server.xml文件实现(打开server.xml找到Host的地方 添加的部分代码中写出)
- <Host name="localhost" appBase="webapps"
- unpackWARs="true" autoDeploy="true">
-
- <!-- SingleSignOn valve, share authentication between web applications
- Documentation at: /docs/config/valve.html -->
-
-
-
-
- <!-- Access log processes all example.
- Documentation at: /docs/config/valve.html
- Note: The pattern used is equivalent to using pattern="common" -->
- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
- prefix="localhost_access_log." suffix=".txt"
- pattern="%h %l %u %t "%r" %s %b" />
-
- <Context path="" docBase="lecheng" debug="0" reloadable="true"/>
-
-
- <Resource name="xuliugen" auth="Container" type="javax.sql.DataSourse"/>
- <ResourceParams name="xuliugen">
-
- <parameter>
- <name>factory</name>
- <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
- </parameter>
-
-
- <parameter>
- <name>driverClassName</name>
- <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
- </parameter>
-
- <parameter>
- <name>url</name>
- <value>jdbc:microsoft.sqlserver://127.0.0.1:1443;DatabaseName=spdb</value>
- </parameter>
-
- <parameter>
- <name>username</name>
- <value>root</value>
- </parameter>
-
- <parameter>
- <name>password</name>
- <value>root</value>
- </parameter>
-
- <parameter>
- <name>maxActive</name>
- <value>200</value>
- </parameter>
-
- <parameter>
- <name>maxIdle</name>
- <value>10</value>
- </parameter>
-
- <parameter>
- <name>maxWait</name>
- <value>-1</value>
- </parameter>
- </ResourceParams>
- </Context>
-
- </Host>
在连接数据库的类中为如下代码:
- package com.tsinghua;
-
- import java.sql.*;
- import javax.sql.*;
- import javax.naming.*;
- public class ConnDB {
-
- private Connection ct=null;
-
- public Connection getConn(){
-
-
- try {
-
-
- Context con=new javax.naming.InitialContext();
-
-
- DataSource ds=(DataSource) con.lookup("java:comp/env/xuliugen");
-
- ct=ds.getConnection();
-
- System.out.println ("使用连接池的方式");
- }
- catch (Exception ex) {
-
- ex.printStackTrace();
- }
-
- return ct;
-
- }
- }
在后台显示效果为:
方法二:在tomcat5.0一下版本中的方法 就是登陆administration tool 页面
0 0