java连接池的实现

可以通过两个的方式

1在server.xml中<GlobalNamingResources>里面添加

   <Resource
      name="jdbcmssql"
      type="javax.sql.DataSource"
      driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
      password="li411"
      maxIdle="2"
      maxWait="5000"
      username="sa"
      url="jdbc:microsoft:sqlserver://10.1.64.186:1433;databaseName=pubs"
      maxActive="4"/>

   在conf/Catalina/localhost对应项目的xml中添加

   <ResourceLink
    global="jdbcmssql"
    name="mssql"
    type="javax.sql.DataSource"/>

   在项目web-inf中web.xml中添加

 <resource-env-ref>
    <description>
         </description>
    <resource-env-ref-name>mssql</resource-env-ref-name>
    <resource-env-ref-type>
      javax.sql.DataSource
    </resource-env-ref-type>
  </resource-env-ref>

2  同样实在server.xml中在</host>前面添加

<Context path="/DBTest" docBase="DBTest"
        debug="5" reloadable="true" crossContext="true">

  <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="sa" password="li411" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
               url="jdbc:microsoft:sqlserver://10.1.64.186:1433;databaseName=pubs"/>

</Context>

 在项目web-inf中web.xml中添加

<description>MsSQL Test App</description>
  <resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/TestDB</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>

测试:

<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%
   DataSource ds = null;
   try{
   InitialContext ctx=new InitialContext();
   ds=(DataSource)ctx.lookup("java:comp/env/jdbc/TestDB");
   Connection conn = ds.getConnection();
   Statement stmt = conn.createStatement();
   String strSql = " select * from authors";
   ResultSet rs = stmt.executeQuery(strSql);
   while(rs.next()){
      out.println(rs.getString(1));               
     }
   }
   catch(Exception ex){
     out.print(ex);
    ex.printStackTrace();
   }
%>

结论:

仔细看文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值