首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

tomcat6 数据源设立

2012-10-17 
tomcat6 数据源设置Tomcat数据源配置1.通过ConnectionPool管理数据库连接2.通过DataSource去管理Connectio

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() ;// 找到DataSourceDataSource ds = (DataSource)ctx.lookup(JNDINAME) ;conn = ds.getConnection() ;                  out.write(conn.toString());}catch(Exception e){System.out.println(e) ;}// 将连接重新放回到池中conn.close() ;%>

热点排行