姚絲麥
          來的太晚,去的太快
          首先在eclipse下新建一個名為jndi的動態web項目;
          打開其目錄下的web.xml,進行配置:

          <?xml version="1.0" encoding="UTF-8"?>
          <web-app id="WebApp_ID" 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">
              
          <display-name>
              jndi
          </display-name>
              
              
          <resource-ref>
                
          <res-ref-name>jdbc/oracle</res-ref-name>
                
          <res-type>javax.sql.DataSource</res-type>
                
          <res-auth>Container</res-auth>
              
          </resource-ref>

              
              
          <welcome-file-list>
                  
          <welcome-file>index.html</welcome-file>
                  
          <welcome-file>index.htm</welcome-file>
                  
          <welcome-file>index.jsp</welcome-file>
                  
          <welcome-file>default.html</welcome-file>
                  
          <welcome-file>default.htm</welcome-file>
                  
          <welcome-file>default.jsp</welcome-file>
              
          </welcome-file-list>
          </web-app>


          然后對server.xml進行配置:
          <?xml version="1.0" encoding="UTF-8"?>
          <Server>
            
          <Listener className="org.apache.catalina.core.AprLifecycleListener"/>
            
          <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
            
          <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
            
          <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
            
          <GlobalNamingResources>
              
          <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
              
          <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
            
          </GlobalNamingResources>
            
          <Service name="Catalina">
              
          <Connector connectionTimeout="20000" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" port="80" redirectPort="8443">
              
          </Connector>
              
          <Connector connectionTimeout="-1" port="8009" protocol="AJP/1.3" redirectPort="8443">
              
          </Connector>
              
          <Engine defaultHost="localhost" name="Catalina">
                
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
                
          <Host appBase="webapps" name="localhost">
                    
          <Context docBase="jndi" path="/jndi" reloadable="true" source="org.eclipse.jst.j2ee.server:jndi">
                        
          <Resource
                        
          name="jdbc/oracle"
                        type
          ="javax.sql.DataSource"
                        driverClassName
          ="oracle.jdbc.driver.OracleDriver"
                        password
          ="tiger"
                        maxIdle
          ="2"
                        maxWait
          ="5000"
                        username
          ="scott"
                        url
          ="jdbc:oracle:thin:@localhost:1521:guitar"
                        maxActive
          ="4"/>
                    
          </Context>

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

          最后寫一個名為test.jsp的測試頁面
          <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
          <%@ page import="java.sql.*"%>
          <%@ page import="javax.sql.*"%>
          <%@ page import="javax.naming.*"%>
          <%!final String JNDINAME = "java:comp/env/jdbc/oracle";%>
          <%
              Connection conn 
          = null;
              try {
                  
          // 初始化查找命名空間
                  Context ctx 
          = new InitialContext();
                  
          // 找到DataSource
                  DataSource ds 
          =
           (DataSource) ctx.lookup(JNDINAME);
                  conn 
          = ds.getConnection();
                  Statement st 
          = conn.createStatement();
                  ResultSet rs 
          = st.executeQuery("select * from emp");
                  
          while (rs.next()) {
                      
          int size = rs.getMetaData().getColumnCount();
                      
          for (int i = 1; i <= size; i++) {
                          out.println(rs.getString(i) 
          + "<br/>");
                      }
                  }

              } catch (Exception e) {
                  System.out.println(e);
              }
          %>
          <%=conn%>
          <%
              
          // 將連接重新放回到池中
              conn.close();
          %>

          至此,配置對oracle的jndi數據源已經列出相關最重要的配置代碼,需要注意的是,必須在項目中導入相對應的數據庫驅動jar包,本例子中導入ojdbc14.jar.需要注意的是代碼中加粗部分,可能需要根據你的實際情況有所改變,JNDINAME的名字是一一對應的.server.xml的配置有許多方法,這里就不一一細述,網上例子很多.

          本人水平有限,歡迎高手和我交流批評^_^

          posted on 2008-07-09 08:55 姚絲麥 閱讀(2790) 評論(2)  編輯  收藏 所屬分類: java
          Comments
          • # re: Eclipse3.4+wtp+tomcat5.5環境下配置對oracle數據庫的jndi數據源
            隔葉黃鶯
            Posted @ 2008-07-09 09:31
            基本上,現在很少去修改全局性的 server.xml 來初始化資源,一般都會在 %TOMCAT_HOME%\conf\Catalina\localhost 目錄下建立一個與項目同名的 xml 文件,如 jndi.xml,在其中寫上

            <Context docBase="jndi" path="/jndi" reloadable="true" source="org.eclipse.jst.j2ee.server:jndi">
            <Resource
            name="jdbc/oracle"
            type="javax.sql.DataSource"
            driverClassName="oracle.jdbc.driver.OracleDriver"
            password="tiger"
            maxIdle="2"
            maxWait="5000"
            username="scott"
            url="jdbc:oracle:thin:@localhost:1521:guitar"
            maxActive="4"/>
            </Context>

            在有多個應用的時候可以保持隔離和獨立的配置。  回復  更多評論   
          • # re: Eclipse3.4+wtp+tomcat5.5環境下配置對oracle數據庫的jndi數據源
            姚絲麥
            Posted @ 2008-07-09 10:15
            嗯,在eclipse(wtp插件)環境下開發,每個應用的Context 配置都在統一的一個server.xml文件中,而且是動態配置的,所以也很方便!  回復  更多評論   

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


          網站導航:
           
           
          主站蜘蛛池模板: 固阳县| 合作市| 遵义市| 建始县| 茶陵县| 中卫市| 叙永县| 崇仁县| 韶山市| 蓬莱市| 托里县| 漾濞| 高碑店市| 宁南县| 额尔古纳市| 鄄城县| 怀来县| 保德县| 大丰市| 嵊泗县| 安图县| 临城县| 莫力| 弥勒县| 贡觉县| 盐亭县| 钟祥市| 龙泉市| 皮山县| 南溪县| 连云港市| 孟村| 华蓥市| 晋州市| 凤台县| 微山县| 醴陵市| 崇州市| 宽城| 通道| 藁城市|