Eclipse3.2+Tomcat5.5.17+Oracle9配置

來源:互聯網
上載者:User
oracle

  Java的Web開發環境布置向來很煩瑣,還記得在做本科畢業設計時配置JBuilder2005+Weblogic8.1+SQL2k整合環境時的痛苦經曆,近來整合配置Eclipse3.2+Tomcat5.5.17+Oracle9i環境又累了N小時,這可不得不怪B/S結構的“苦了開發人員,方便千萬使用者”捨己為人精神,以及各種工具版本紛雜帶來的不便與不少不負責任網友的胡亂指引。下面小弟把自己的成功經驗向大家彙報,希望有需要的友人能少走彎路。具體步驟如下:

  1.安裝Java開發環境Eclipse3.2,安裝Oracle9i資料庫

  首先安裝SUN的JDK1.4以上版本的Java基礎開發環境,配置Java系統變數(這個太基礎,不具體展開了)。接著下載解壓安裝Eclipse3.2開發環境,根據個人需要安裝語言套件、MyEclipse等外掛程式擴充功能(也可以先不安裝)。

  安裝Oracle9i資料庫,建立測試資料庫:NBZJU與DBA:LUHAO/11111,建立資料表空間:LUHAO和測試表:USER_INF。其中USER_INF表具有USER_ID、USER_NAME、USER_TEL欄位屬性,並添如若干測試記錄。

  2.安裝Tomcat及其外掛程式

  下載並解壓Tomcat啟動外掛程式tomcatPluginV31.zip,將其下目錄檔案拷入eclipse\plugins目錄下(這步若成功執行,eclipse運行後將發現多了Tomcat功能表項目及其啟動、停止、重啟等快捷按鈕。若看不到,可能通過刪除eclipse\configuration目錄下除config.ini外所有檔案,再重啟eclipse來解決)。

  下載Tomcat標準程式apache-tomcat-5.5.17.zip和admin控制台程式apache-tomcat-5.5.17-admin.zip(將後者解壓入前者的解壓目錄下可以獲得登陸admin圖形管理介面的功能,這將方便後面的資料來源配置,不用直接在server.xml中自己輸入參數,即通過圖形介面配置產生相應的標準XML參數。否則手動輸入參考來的配置容易出錯,因為不同版本tomcat的XML標記文法解析不同,例如5.1版的參數放入5.5版是無效的。因此,強烈建議用圖形介面配置資料來源!)

  配置系統變數“TOMCAT_HOME”,其值為關聯到apache-tomcat-5.5.17目錄的路徑。開啟apache-tomcat-5.5.17\conf\tomcat-users.xml檔案,在<tomcat-users></tomcat-users>標記元素中加入:<user username="luhao" password="12345" roles="admin,manager"/>,即加入角色身份為admin和manager的管理員luhao,我們之後需要以manager角色上傳Web應用程式和以admin角色配置資料員。再開啟apache-tomcat-5.5.17\conf目錄下server.xml檔案,將<Connector元素後port="8080"的屬性改為port="8008"(注意:由於oracle已佔用了Tomcat預設的8080訪問連接埠,必須更改其它未被佔用的空閑連接埠,此處假設為8008)。

  接下來運行eclipse程式,配置Tomcat屬性。開啟菜單“視窗/喜好設定”,開啟“Java/已安裝的JRE”選項,將運行環境參數位置定位於JDK目錄下的JRE目錄。開啟“Tomcat”選項,Tomcat Version選擇5.x,Tomcat Home定位到apache-tomcat-5.5.17目錄,其餘預設關聯即可。開啟“Tomcat/JVM Settings”和“Tomcat/Source Path”選項,JRE選擇剛配置的已安裝的JRE,Automatcially compute source path打勾。再開啟“Tomcat Manager App”選項,url輸入http://localhost:8008/manager,username和password填Tomcat中新加入的luhao和12345(這步可以保證將Web應用程式發布到Tomcat,項目Reload也不會出錯)。

  3.擷取Oracle9i相應的JDBC驅動程式,配置Data Sources和Context

  拷貝Oracle9i安裝目錄下ora90/jdbc/lib/classes12.jar驅動檔案到Tomcat目錄下common/lib公用檔案夾下。

  然後在eclipse中啟動Tomcat(點擊那個貓的表徵圖即可),以luhao/12345身份登陸http://localhost:8008/admin後建立資料來源。其中JNDI Name:jdbc/Oracle(此資料來源JNDI名字可以隨意取,但不可重複),Data Source URL:jdbc:oracle:thin:@localhost:1521:NBZJU(1521為Oracle訪問連接埠,NBZJU為要訪問的資料庫名稱),JDBC Driver Class:oracle.jdbc.driver.OracleDriver(可開啟classes12.jar檔案查看到相應的路徑,否則驅動有誤),Username:luhao和Password:11111(填NBZJU資料庫有存取權限的使用者即可),其餘選項預設即可。資料來源儲存及遞交後,conf目錄下server.xml檔案的全域命名資源GlobalNamingResources元素內將多一項Resource屬性:

<Resource
name="jdbc/Oracle"
type="javax.sql.DataSource"
password="11111"
driverClassName="oracle.jdbc.driver.OracleDriver"
maxIdle="2"
maxWait="5000"
username="luhao"
url="jdbc:oracle:thin:@localhost:1521:NBZJU"
maxActive="4"/>

  資料來源配置完成後,還須配置相關的上下文資訊context,來使程式獲得JDNI初始化引用,從而定位元據源。由於之前定義的是全域資源,我們可在apache-tomcat-5.5.17\conf\context.xml檔案中的Context元素中加入關聯屬性:

<ResourceLink global="jdbc/Oracle" name="jdbc/Oracle" type="javax.sql.DataSource"/>

  4.建立測試Web程式

  運行eclipse,建立一個Tomcat項目到任意的當前工作空間,此處項目取名quickstart。當項目一經建立,我們就可以發現apache-tomcat-5.5.17\conf目錄下server.xml檔案的Host元素內自動增加了以下屬性內容(用來關聯發布Web應用程式的工作目錄):

<Host
appBase="webapps"
name="localhost"><Context path="/quickstart" reloadable="true" docBase="E:\luhao\workspace\quickstart" workDir="E:\luhao\workspace\quickstart\work" />

</Host>

  建立JSP測試頁面index.jsp到quickstart工程目錄下(JSP頁面編輯需要有支援Web開發功能的eclipse外掛程式支援,如MyEclipse、WTP等外掛程式),代碼如下:

<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="java.sql.*" %>
<html><head><title>Oracle JDBC Test</title></head>
<body>
<%
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
ResultSetMetaData md=null;
try{
 Context initCtx=new InitialContext();
 //獲得JNDI初始化上下文資訊,即擷取目錄內容相關的引用
 DataSource ds=(DataSource)initCtx.lookup("java:comp/env/jdbc/Oracle");
 //定位元據源jdbc/Oracle
 if(ds!=null){
  out.println("已經獲得DataSource");
  out.println(ds.toString());
  conn=ds.getConnection();
  if(conn!=null){
   out.println("create connection sucess!");
   stmt=conn.createStatement();
   out.println("createStatement Success!");
   rs=stmt.executeQuery("select * from LUHAO.USER_INF");
   md=rs.getMetaData();
   out.println("<table border=1>");
   out.println("<tr>");
   for(int i=0;i<md.getColumnCount();i++){
    out.println("<td>"+md.getColumnName(i+1)+"</td>");
   }
   while(rs.next()){
    out.println("<tr>");
    out.println("<td>"+rs.getString(1)+"</td>");
    out.println("<td>"+rs.getString(2)+"</td>");
    out.println("<td>"+rs.getString(3)+"</td>");
    out.println("<td>");
   }
   out.println("</table>");
   conn.close();
  }
 }
}catch(Exception e){
 out.println(e.toString());
 System.out.println(e.toString());
}
%>
</body>
</html>

  5.啟動資料庫,運行測試程式

  運行測試頁面前必須先啟動後台資料庫。辦法是開啟Oracle SQL Plus,用DBA身份串連入NBZJU資料庫:conn luhao/11111 as sysdba,再用命令:startup完成啟動資料庫(shutdown可以關閉資料庫)。

  儲存工程,啟動Tomcat,開啟http://localhost:8008/quickstart/頁面。若能看到各種串連成功的訊息及完整的USER_INF測試表內容,那麼表明整個Web測試程式運行成功了!

  總結:

  實際的整合配置過程,除上述全域化配置方法可行外,還可以採用局部化配置方法(某些版本Tomcat可能行不通)。局部化配置方法較全域化配置方法區別僅在於將資料來源jdbc/Oracle的Resource屬性內容加入工程所在quickstart目錄下的META-INF\context.xml檔案的Context元素中去,而不用改變Tomcat目錄的conf子目錄下的server.xml和context.xml檔案。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。