<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    和風(fēng)細雨

    世上本無難事,心以為難,斯乃真難。茍不存一難之見于心,則運用之術(shù)自出。

    Tomcat6中JDBC數(shù)據(jù)源(Oracle)的配置

    費了一番周折,把Tomcat6中JDBC數(shù)據(jù)源配置好了,這里把過程寫一下。感覺是某些網(wǎng)上的東西不可全信,還是官方文檔管用。

    步驟一:將Oracle的數(shù)據(jù)庫驅(qū)動包classes12.jar拷貝到$CATALINA_HOME/lib下,我的Tomcat6庫位置是C:\Tomcat6\lib,就拷貝到這里。


    步驟二:改寫server.xml。
    server.xml在$CATALINA_HOME/conf下,打開它,找到你工程對應(yīng)的Context一段,在其中加入Resource節(jié)點,比如我的工程是DataSource,那么改寫后的Context節(jié)點為:
    <Context path="/DataSource" reloadable="true" docBase="E:\Program\Programs\DataSource" workDir="E:\Program\Programs\DataSource\work" >
        
    <Resource name="jdbc/myoracle" auth="Container"
              type
    ="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
              url
    ="jdbc:oracle:thin:@192.168.104.173:1521:orcl"
              username
    ="hy" password="hy" maxActive="20" maxIdle="10"
              maxWait
    ="-1"/> 
     
    </Context>

    干脆把server.xml全文貼一下以方便對照。
    <!-- Note:  A "Server" is not itself a "Container", so you may not
         define subcomponents such as "Valves" at this level.
         Documentation at /docs/config/server.html
     
    -->
    <Server port="8005" shutdown="SHUTDOWN">

      
    <!--APR library loader. Documentation at /docs/apr.html -->
      
    <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
      
    <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
      
    <Listener className="org.apache.catalina.core.JasperListener" />
      
    <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
      
    <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
      
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

      
    <!-- Global JNDI resources
           Documentation at /docs/jndi-resources-howto.html
      
    -->
      
    <GlobalNamingResources>
        
    <!-- Editable user database that can also be used by
             UserDatabaseRealm to authenticate users
        
    -->
        
    <Resource name="UserDatabase" auth="Container"
                  type
    ="org.apache.catalina.UserDatabase"
                  description
    ="User database that can be updated and saved"
                  factory
    ="org.apache.catalina.users.MemoryUserDatabaseFactory"
                  pathname
    ="conf/tomcat-users.xml" />
      
    </GlobalNamingResources>



      
    <!-- A "Service" is a collection of one or more "Connectors" that share
           a single "Container" Note:  A "Service" is not itself a "Container", 
           so you may not define subcomponents such as "Valves" at this level.
           Documentation at /docs/config/service.html
       
    -->
      
    <Service name="Catalina">

        
    <!-- A "Connector" represents an endpoint by which requests are received
             and responses are returned. Documentation at :
             Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
             Java AJP  Connector: /docs/config/ajp.html
             APR (HTTP/AJP) Connector: /docs/apr.html
             Define a non-SSL HTTP/1.1 Connector on port 8080
        
    -->
        
    <Connector port="8088" protocol="HTTP/1.1" 
                   maxThreads
    ="150" connectionTimeout="20000" 
                   redirectPort
    ="8443" />

        
    <!-- Define a SSL HTTP/1.1 Connector on port 8443
             This connector uses the JSSE configuration, when using APR, the 
             connector should be using the OpenSSL style configuration
             described in the APR documentation 
    -->
        
    <!--
        <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 
                   maxThreads="150" scheme="https" secure="true" 
                   clientAuth="false" sslProtocol="TLS" />
        
    -->

        
    <!-- Define an AJP 1.3 Connector on port 8009 -->
        
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />


        
    <!-- An Engine represents the entry point (within Catalina) that processes
             every request.  The Engine implementation for Tomcat stand alone
             analyzes the HTTP headers included with the request, and passes them
             on to the appropriate Host (virtual host).
             Documentation at /docs/config/engine.html 
    -->

        
    <!-- You should set jvmRoute to support load-balancing via AJP ie :
        <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">         
        
    --> 
        
    <Engine name="Catalina" defaultHost="localhost">

          
    <!--For clustering, please take a look at documentation at:
              /docs/cluster-howto.html  (simple how to)
              /docs/config/cluster.html (reference documentation) 
    -->
          
    <!--
          <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
          
    -->        

          
    <!-- The request dumper valve dumps useful debugging information about
               the request and response data received and sent by Tomcat.
               Documentation at: /docs/config/valve.html 
    -->
          
    <!--
          <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
          
    -->

          
    <!-- This Realm uses the UserDatabase configured in the global JNDI
               resources under the key "UserDatabase".  Any edits
               that are performed against this UserDatabase are immediately
               available for use by the Realm.  
    -->
          
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                 resourceName
    ="UserDatabase"/>

          
    <!-- Define the default virtual host
               Note: XML Schema validation will not work with Xerces 2.2.
           
    -->
          
    <Host name="localhost"  appBase="webapps"
                unpackWARs
    ="true" autoDeploy="true"
                xmlValidation
    ="false" xmlNamespaceAware="false">

            
    <!-- SingleSignOn valve, share authentication between web applications
                 Documentation at: /docs/config/valve.html 
    -->
            
    <!--
            <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
            
    -->

            
    <!-- Access log processes all example.
                 Documentation at: /docs/config/valve.html 
    -->
            
    <!--
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  
                   prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
            
    -->
    <Context path="/DataSource" reloadable="true" docBase="E:\Program\Programs\DataSource" workDir="E:\Program\Programs\DataSource\work" >
        
    <Resource name="jdbc/myoracle" auth="Container"
              type
    ="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
              url
    ="jdbc:oracle:thin:@192.168.104.173:1521:orcl"
              username
    ="hy" password="hy" maxActive="20" maxIdle="10"
              maxWait
    ="-1"/> 
     
    </Context>
    <Context path="/MyTodoes" reloadable="true" docBase="E:\Program\Programs\MyTodoes" workDir="E:\Program\Programs\MyTodoes\work" />



         

          
    </Host>
        
    </Engine>
      
    </Service>
    </Server>

    步驟三:改寫工程的web.xml,在其中增加resource-ref節(jié)點.
    改寫后的web.xml全文如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation
    ="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    >

        
    <!-- welcome.jsp -->
        
    <welcome-file-list>
            
    <welcome-file>/web/page/welcome.jsp</welcome-file>
        
    </welcome-file-list>
        
        
    <!-- datasource -->
        
    <resource-ref>
            
    <description>Oracle Datasource example</description>
            
    <res-ref-name>jdbc/myoracle</res-ref-name>
            
    <res-type>javax.sql.DataSource</res-type>
            
    <res-auth>Container</res-auth>
        
    </resource-ref>
    </web-app>

    步驟四:頁面調(diào)用示例.
    <%@ page contentType="text/html; charset=UTF-8" %>
    <%@ page import="java.sql.*"%>
    <%@ page import="javax.sql.*"%>
    <%@ page import="javax.naming.*"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>DataSource Welcome Page</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>

    <body>
    <table cellspacing="0" border=1>
        
    <thead>
            
    <tr>
                
    <th>ID</th>
                
    <th>Name</th>
                
    <th>Age</th>
                
    <th>Sex</th>
            
    </tr>
        
    </thead>
        
    <tbody>
        
    <%
            
    try {
                InitialContext ctx 
    = new InitialContext();
                DataSource ds 
    = (DataSource)ctx.lookup("java:comp/env/jdbc/myoracle");
                  Connection conn 
    = ds.getConnection();    
                  Statement stmt 
    = conn.createStatement();
                 ResultSet rst 
    = stmt.executeQuery(" select ID, NAME, AGE, SEX from EMPLOYEE");
                  
    while (rst.next()) {
                      out.println(
    "<tr>");
                    out.println(
    "<td>"+rst.getString("ID")+"</td>");
                    out.println(
    "<td>"+rst.getString("NAME")+"</td>");
                    out.println(
    "<td>"+rst.getString("AGE")+"</td>");
                    out.println(
    "<td>"+rst.getString("SEX")+"</td>");
                    out.println(
    "</tr>");
                }

                conn.close();
            }
     catch (Exception e){
                e.printStackTrace();
            }

        
    %>
        
    </tbody>
        
    </table>
    </body>
    </html>



    執(zhí)行效果:


    與數(shù)據(jù)庫數(shù)據(jù)比較一下:


    源碼下載(注意在lib目錄中加入classes12.jar):
    http://www.tkk7.com/Files/sitinspring/DataSource20080203111106.rar

    posted on 2008-02-22 09:14 和風(fēng)細雨 閱讀(3529) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 97久久免费视频| 国产免费牲交视频| 亚洲精品成a人在线观看☆| 免费在线精品视频| 久久伊人免费视频| 亚洲AV无码一区二区乱子仑 | 亚洲第一成人影院| 暖暖免费日本在线中文| 亚洲色偷偷综合亚洲av78| 亚洲中文字幕不卡无码| 性感美女视频在线观看免费精品| 亚洲免费在线观看| 456亚洲人成影院在线观| 亚洲成av人片天堂网老年人| 8888四色奇米在线观看免费看| 激情无码亚洲一区二区三区| 亚洲AV无码精品色午夜在线观看| 国产精品免费_区二区三区观看| 黄网站色视频免费在线观看的a站最新| 亚洲AV无码无限在线观看不卡| 国产亚洲美女精品久久久久狼| 亚洲人成网站免费播放| 人妻免费一区二区三区最新| 亚洲av成人一区二区三区观看在线| 亚洲人成网站影音先锋播放| 亚洲人成无码www久久久| 最近中文字幕无吗高清免费视频| 99精品免费视品| 国产成人久久精品亚洲小说| 亚洲成人免费网址| 亚洲av女电影网| 在线亚洲精品福利网址导航| 国产精品深夜福利免费观看| 国产91色综合久久免费分享| 国产一级a毛一级a看免费人娇| 亚洲国产精品无码久久98| 亚洲国产成人久久77| 亚洲AV成人一区二区三区AV| 国产亚洲精品资源在线26u| 国产一区二区三区在线免费| 女人被弄到高潮的免费视频|