Java的Web開發環境布置向來很煩瑣還記得在做本科畢業設計時配置JBuilder+Weblogic+SQLk整合環境時的痛苦經歷近來整合配置Eclipse+Tomcat+Oraclei環境又累了N小時這可不得不怪B/S結構的苦了開發者方便千萬用戶捨己為人精神以及各種工具版本紛雜帶來的不便與不少不負責任網友的胡亂指引下面小弟把自己的成功經驗向大家匯報希望有需要的友人能少走彎路具體步驟如下
安裝Java開發環境Eclipse安裝Oraclei數據庫
首先安裝SUN的JDK以上版本的Java基礎開發環境配置Java系統變量(這個太基礎不具體展開了)接著下載解壓安裝Eclipse開發環境根據個人需要安裝語言包MyEclipse等插件擴充功能(也可以先不安裝)
安裝Oraclei數據庫創建測試數據庫NBZJU與DBA:LUHAO/建立表空間LUHAO和測試表USER_INF其中USER_INF表具有USER_IDUSER_NAMEUSER_TEL字段屬性並添如若干測試記錄
安裝Tomcat及其插件
下載並解壓Tomcat啟動插件tomcatPluginVzip將其下目錄文件拷入eclipse\plugins目錄下(這步若成功執行eclipse運行後將發現多了Tomcat菜單項及其啟動停止重啟等快捷按鈕若看不到可能通過刪除eclipse\configuration目錄下除configini外所有文件再重啟eclipse來解決)
下載Tomcat標准程序apachetomcatzip和admin控制台程序apachetomcatadminzip(將後者解壓入前者的解壓目錄下可以獲得登陸admin圖形管理界面的功能這將方便後面的數據源配置不用直接在serverxml中自己輸入參數即通過圖形界面配置生成相應的標准XML參數否則手動輸入參考來的配置容易出錯因為不同版本tomcat的XML標記語法解析不同例如版的參數放入版是無效的因此強烈建議用圖形界面配置數據源!)
配置系統變量
TOMCAT_HOME
其值為關聯到apache
tomcat
目錄的路徑
打開apache
tomcat
\conf\tomcat
users
xml文件
在<tomcat
users></tomcat
users>標記元素中加入
<user username=
luhao
password=
roles=
admin
manager
/>
即加入角色身份為admin和manager的管理員luhao
我們之後需要以manager角色上傳Web應用程序和以admin角色配置數據員
再打開apache
tomcat
\conf目錄下server
xml文件
將<Connector元素後port=
的屬性改為port=
(注意
由於oracle已占用了Tomcat默認的
訪問端口
必須更改其它未被占用的空閒端口
此處假設為
)
接下來運行eclipse程序
配置Tomcat屬性
打開菜單
窗口/首選項
打開
Java/已安裝的JRE
選項
將運行環境參數位置定位於JDK目錄下的JRE目錄
打開
Tomcat
選項
Tomcat Version選擇
x
Tomcat Home定位到apache
tomcat
目錄
其余默認關聯即可
打開
Tomcat/JVM Settings
和
Tomcat/Source Path
選項
JRE選擇剛配置的已安裝的JRE
Automatcially compute source path打勾
再打開
Tomcat Manager App
選項
url輸入username和password填Tomcat中新加入的luhao和
(這步可以保證將Web應用程序發布到Tomcat
項目Reload也不會出錯)
獲取Oracle
i相應的JDBC驅動程序
配置Data Sources和Context
拷貝Oracle
i安裝目錄下ora
/jdbc/lib/classes
jar驅動文件到Tomcat目錄下common/lib公共文件夾下
然後在eclipse中啟動Tomcat(點擊那個貓的圖標即可)
以luhao/
身份登陸後新建數據源
其中JNDI Name:jdbc/Oracle(此數據源JNDI名字可以隨意取
但不可重復)
Data Source URL:@localhost:
:NBZJU(
為Oracle訪問端口
NBZJU為要訪問的數據庫名稱)
JDBC Driver Class:oracle
jdbc
driver
OracleDriver(可打開classes
jar文件查看到相應的路徑
否則驅動有誤)
Username:luhao和Password:
(填NBZJU數據庫有訪問權限的用戶即可)
其余選項默認即可
數據源保存及遞交後
conf目錄下server
xml文件的全局命名資源GlobalNamingResources元素內將多一項Resource屬性
<Resource
name=
jdbc/Oracle
type=
javax
sql
DataSource
password=
driverClassName=
oracle
jdbc
driver
OracleDriver
maxIdle=
maxWait=
username=
luhao
url=
@localhost:
:NBZJU
maxActive=
/>
數據源配置完成後
還須配置相關的上下文信息context
來使程序獲得JDNI初始化引用
從而定位數據源
由於之前定義的是全局資源
我們可在apache
tomcat
\conf\context
xml文件中的Context元素中加入關聯屬性
<ResourceLink global=
jdbc/Oracle
name=
jdbc/Oracle
type=
javax
sql
DataSource
/>
創建測試Web程序
運行eclipse
新建一個Tomcat項目到任意的當前工作空間
此處項目取名quickstart
當項目一經創建
我們就可以發現apache
tomcat
\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=gb
%>
<%@ 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=
>
)
out
println(
<tr>
)
for(int i=
;i<md
getColumnCount()
i++){
out
println(
<td>
+md
getColumnName(i+
)+
</td>
)
}
while(rs
next()){
out
println(
<tr>
)
out
println(
<td>
+rs
getString(
)+
</td>
)
out
println(
<td>
+rs
getString(
)+
</td>
)
out
println(
<td>
+rs
getString(
)+
</td>
)
out
println(
<td>
)
}
out
println(
</table>
)
conn
close()
}
}
}catch(Exception e){
out
println(e
toString())
System
out
println(e
toString())
}
%>
</body>
</html>
啟動數據庫
運行測試程序
運行測試頁面前必須先啟動後台數據庫
辦法是打開Oracle SQL Plus
用DBA身份連接入NBZJU數據庫
conn luhao/
as sysdba
再用命令
startup完成啟動數據庫(shutdown可以關閉數據庫)
保存工程
啟動Tomcat
打開頁面
若能看到各種連接成功的消息及完整的USER_INF測試表內容
那麼表明整個Web測試程序運行成功了!
總結
實際的整合配置過程
除上述全局化配置方法可行外
還可以采用局部化配置方法(某些版本Tomcat可能行不通)
局部化配置方法較全局化配置方法區別僅在於將數據源jdbc/Oracle的Resource屬性內容加入工程所在quickstart目錄下的META
INF\context
xml文件的Context元素中去
而不用改變Tomcat目錄的conf子目錄下的server
xml和context
xml文件
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28407.html