点击这里给我发消息 点击这里给我发消息

jsp中数据源的使用方法及代码

添加时间:2013-12-6
    相关阅读: 解决方案 方案 数据库 程序 Oracle Mysql
 

数据源的操作

1:连接池

是为了解决每个用户不断的建立连接,操作,释放连接造成的资源浪费而提出的解决方案。

2: 通过Connection Pool管理数据库连接

通过DataSource管理Connection Pool
DataSource被JNDI绑定
: 

3: 如何在服务器上对DataSsource进行配置

服务器一般采用Tomcat,然后对Tomcat中server.xml的配置:

以下为通用配置方案!!!

//此处可以不修改,直接在中间加入<Resource>的配置
<Context path=\"/test\" docBase=\"f: estweb\"
        debug=\"5\" reloadable=\"true\" crossContext=\"true\">
 
     <Logger className=\"org.apache.catalina.logger.FileLogger\"
                 prefix=\"localhost_MysqlTest_log.\" suffix=\".txt\"
                 timestamp=\"true\"/>
                 
    <Resource name=\"名字\"  auth=\"Container\" type=\"javax.sql.DataSource\"/>
    //名字和上面的名字一样。
    <ResourceParams name=\"名字\">
        <parameter>
            <name>factory</name>
            <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
        </parameter>
        <parameter>
            <name>maxActive</name>
            <value>100</value>
        </parameter>
        <parameter>
            <name>maxIdle</name>
            <value>30</value>
        </parameter>
        <parameter>
            <name>maxWait</name> [Page]
            <value>5000</value>
        </parameter>
        <parameter>
            <name>username</name>
            <value>用户名</value>
        </parameter>
        <parameter>
            <name>password</name>
            <value>密码</value>
        </parameter>
        <parameter>
            <name>driverClassName</name>
            <value>驱动程序</value>
        </parameter>
        <parameter>
            <name>url</name>
            <value>连接地址</value>
        </parameter>
      </ResourceParams>
    </Context>

以下为针对Tomcat的配置方案。
    <Context path=\"/test\" docBase=\"f: estweb\"
        debug=\"5\" reloadable=\"true\" crossContext=\"true\">
 
     <Logger 
className=\"org.apache.catalina.logger.FileLogger\"
                 
prefix=\"localhost_MysqlTest_log.\" suffix=\".txt\"
                 timestamp=\"true\"/>
                 
    <Resource name=\"jdbc/mldn\"  auth=\"Container\" 
type=\"javax.sql.DataSource\"/>
     [Page]
//在tomcat中此处需要对名称进行定位。而如果是weblogic或者其他的就不需要进行名称定位,直接就jdbc/mldn。
    <ResourceParams name=\" java:comp/env/jdbc/mldn\">
        <parameter>
            <name>factory</name>
            
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
        </parameter>
        <parameter>
            <name>maxActive</name>
            <value>100</value>
        </parameter>
        <parameter>
            <name>maxIdle</name>
            <value>30</value>
        </parameter>
        <parameter>
            <name>maxWait</name>
            <value>5000</value>
        </parameter>
        <parameter>
            <name>username</name>
            <value>system</value>
        </parameter>
        <parameter>
            <name>password</name>
            <value>jxry</value>
        </parameter>
        <parameter>
            <name>driverClassName</name>
            <value>oracle.jdbc.driver.OracleDriver</value> [Page]
        </parameter>
        <parameter>
            <name>url</name>
            <value>jdbc:oracle:thin:@localhost:1521:alibaba</value>
        </parameter>
      </ResourceParams>
    </Context>

4:配置完成后,需要通过名称查找的方式找到数据源
<%@ page import=\"java.sql.*\"%>
<%@ page import=\"javax.sql.*\"%>
<%@ page import=\"javax.naming.*\"%>
<%!
    final String JNDINAME = \"java:comp/env/jdbc/mldn\" ;
%>
<%
    Connection conn = null ;
    try
    ...{
        // 初始化查找命名空间
        Context ctx = new InitialContext() ;
        // 找到DataSource
        DataSource ds = (DataSource)ctx.lookup(JNDINAME) ;
        conn = ds.getConnection() ;
    }
    catch(Exception e)
    ...{
        System.out.println(e) ;
    }
%>
<%=conn%>
<%
    // 将连接重新放回到池中,别忘记了,很重要。
    conn.close() ;
%>

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册