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

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

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

    和風細雨

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

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

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

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


    步驟二:改寫server.xml。
    server.xml在$CATALINA_HOME/conf下,打開它,找到你工程對應的Context一段,在其中加入Resource節點,比如我的工程是DataSource,那么改寫后的Context節點為:
    <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節點.
    改寫后的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>

    步驟四:頁面調用示例.
    <%@ 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>



    執行效果:


    與數據庫數據比較一下:


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

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


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲日本va在线视频观看| 真实乱视频国产免费观看| 亚洲精品无码你懂的网站| 国产AV无码专区亚洲AV麻豆丫| 四虎成人免费观看在线网址| 久久精品国产亚洲αv忘忧草| 免费观看激色视频网站bd| 亚洲人成人77777网站不卡| 我的小后妈韩剧在线看免费高清版| 97久久精品亚洲中文字幕无码| 特级精品毛片免费观看| 亚洲成av人片在线看片| 女人18毛片水真多免费播放| 亚洲a∨无码精品色午夜| 亚洲国产成人乱码精品女人久久久不卡| 国产亚洲综合视频| 国产亚洲美女精品久久久2020| 国产羞羞的视频在线观看免费| 亚洲视频.com| 美女黄网站人色视频免费国产| 黄页网址在线免费观看| 亚洲无av在线中文字幕| 免费看男女下面日出水来| 亚洲国产精品成人综合色在线| 亚洲综合激情另类专区| 亚欧免费一级毛片| 亚洲中文字幕一二三四区苍井空| 日韩免费无码一区二区视频| 九九视频高清视频免费观看| 久久久久久亚洲Av无码精品专口| 大学生a级毛片免费观看| 久香草视频在线观看免费| 色播亚洲视频在线观看| 超pen个人视频国产免费观看 | 亚洲毛片基地日韩毛片基地| 成视频年人黄网站免费视频| 免费一级特黄特色大片| 久久亚洲AV成人无码| 国产一区二区免费在线| 999任你躁在线精品免费不卡| 亚洲a∨无码精品色午夜|