tomcat6 数据源设置
Tomcat数据源配置
1.通过ConnectionPool管理数据库连接
2.通过DataSource去管理ConnectionPool
3.DataSource被JNDI绑定
能减少数据库打开和关闭的操作次数,节约资源
在开发中,基本上都是使用此种连接方式,可以提高性能
首先,初学者会有疑问,为什么会使用数据源呢?
使用数据源是为了提高数据库的访问效率.tomcat容器会接管数据库的connnection对象.他会根据参数的设置,预先实例化若干个connection对象在内存中。这样大大的提高了数据库的访问速度和操作效率.
全局设置:供所有项目使用
%TOMCAT_HOME%/conf/context.xml
指定项目设置,webapp就是你的web项目,只供当前项目使用
WebApp/META-INF/context.xml
使用全局的数据源,要把数据库的JDBC驱动拷贝到%TOMCAT_HOME%/lib下;使用项目数据源,需要拷贝到项目的lib下
下面是 context.xml代码
<Context> <WatchedResource>WEB-INF/web.xml</WatchedResource><Resource name="jdbc/jspdev" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="5000" username="sa" password="tri12345" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev" /><Resource name="jdbc/emp" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="5000" username="scott" password="tri12345" ValidationQuery="select count(*) from dual" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@127.0.0.1:1521:ora9" /><Resource name="jdbc/net" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="5000" username="root" password="mysqladmin" driverClassName="com.mysql.jdbc.Driver" ValidationQuery="select count(*) from dual" url="jdbc:mysql://192.168.1.251/net" /></Context>
<%@ page contentType="text/html;charset=gbk" %><%@ page import="java.sql.*"%><%@ page import="javax.sql.*"%><%@ page import="javax.naming.*"%><%String JNDINAME = "java:comp/env/jdbc/net" ;request.setCharacterEncoding("gbk");Connection conn = null ;try{// 初始化查找命名空间Context ctx = new InitialContext() ;// 找到DataSourceDataSource ds = (DataSource)ctx.lookup(JNDINAME) ;conn = ds.getConnection() ; out.write(conn.toString());}catch(Exception e){System.out.println(e) ;}// 将连接重新放回到池中conn.close() ;%>