程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Eclipse3.2+Tomcat5.5.17+Oracle9配置

Eclipse3.2+Tomcat5.5.17+Oracle9配置

編輯:關於JAVA

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文件。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved