Tomcate6.0連接池的配置及實例

Tomcat6.0 連接池的配置及實例<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

1.  配置Tomcat目錄文件夾conf下的context.xml文件添加如下節點:

SqlServer:

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

 

MySql爲:

<Resource name="jdbc/testDB" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="root" password="root" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/class"/>

 

2.  找到WEB-INF/web.xml <web-app>..</web-app>中添加如下節點

    <resource-ref>

        <description>TestDB</description>

        <res-ref-name>jdbc/testDB</res-ref-name>

        <res-type>javax.sql.DataSource</res-type>

        <res-auth>Container</res-auth>

</resource-ref>

3.  編寫測試程序代碼如下:

package com.szkp;

import java.sql.*;

import javax.naming.*;

import javax.sql.DataSource;

import java.util.*;

public class <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />Conn {

       public Connection getCon(){

              Connection con=null;

              try {

                     Context ic=new InitialContext();

                     DataSource data=(DataSource)ic.lookup("java:comp/env/jdbc/testDB");

                     con=data.getConnection();

              } catch (NamingException e) {

                     e.printStackTrace();

              }catch (SQLException e) {

                     e.printStackTrace();

              }

              return con;

       }

       public List getData(Connection con){

              List<String> name=null;

             

              String sql="select au_lname from authors";

              try {

                     Statement s=con.createStatement();

                     ResultSet rs=s.executeQuery(sql);

                     name=new ArrayList<String>();

                     while(rs.next()){

                            String ss=rs.getString(1);

                            name.add(ss);

                     }

              } catch (SQLException e) {

                     e.printStackTrace();

              }finally{

                     try {

                            con.close();

                     } catch (SQLException e) {

                            e.printStackTrace();

                     }

              }

              return name;

       }

}

 

 

4.  編寫測試Jsp頁面

 

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>

<%@ page import="com.szkp.*" %>

<%@ page import="java.sql.*" %>

 

<%

    request.setCharacterEncoding("gbk");

    response.setContentType("text/html; charset=gb2312");

 %>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

    <title>My JSP 'index.jsp' starting page</title>

    <meta http-equiv="pragma" content="no-cache">

    <meta http-equiv="cache-control" content="no-cache">

    <meta http-equiv="expires" content="0">   

    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

    <meta http-equiv="description" content="This is my page">

    <!--

    <link rel="stylesheet" type="text/css" href="styles.css">

    -->

  </head>

 

  <body>

    This is my JSP page. <br>

    <%Conn c=new Conn(); %>

    <%Connection con=c.getCon(); %>

    <%List name=c.getData(con);

    for(int i=0;i<name.size();i++){

        out.println(name.get(i)+"<br>");

    }%>

  </body>

</html>

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章