tomcat6 数据源设立

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>





下面是JSP的调用代码 test.jsp
<%@ 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() ;
		// 找到DataSource
		DataSource ds = (DataSource)ctx.lookup(JNDINAME) ;
		conn = ds.getConnection() ;
                  out.write(conn.toString());
	}
	catch(Exception e)
	{
		System.out.println(e) ;
	}
	// 将连接重新放回到池中
	conn.close() ;
%>