Tomcat如何配置去項(xiàng)目名稱訪問
相關(guān)資料:1. 多域名訪問 配置步驟2. 配置后 仍是訪問TOMCA T 主頁問題解決3. TMOCAT 啟動(dòng),虛擬機(jī)內(nèi)存不足問題解決任務(wù)目標(biāo):兩個(gè)項(xiàng)目《易匯》《體系管理》部署在
相關(guān)資料:
1. 多域名訪問 配置步驟
2. 配置后 仍是訪問TOMCA T 主頁問題解決
3. TMOCAT 啟動(dòng),虛擬機(jī)內(nèi)存不足問題解決
任務(wù)目標(biāo):
兩個(gè)項(xiàng)目《易匯》《體系管理》部署在同一服務(wù)器中,并易匯不通過項(xiàng)目名稱訪問,而體系管理通過 “/qc”訪問,效果如下: 訪問易匯管理系統(tǒng) 訪問體系管理系統(tǒng)
解決過程與遇到問題:
剛開始嘗試時(shí)候,參照相關(guān)資料 連接1配置方式,進(jìn)行模仿。
1. 先解決只部署一個(gè)項(xiàng)目時(shí),去除項(xiàng)目名稱訪問該項(xiàng)目
找到D:apache-tomcat-6.0.39confserver.xml 配置文件,并在
unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
標(biāo)簽中插入
效果:
unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
在Context 標(biāo)簽中path 屬性是相當(dāng)于起到項(xiàng)目別名的作用,比如path=”/qc” 就可解決任務(wù)目標(biāo)中的第二條連接訪問,docBase 就是項(xiàng)目在的物理路徑(剛開始對(duì)這個(gè)“項(xiàng)目”物理路徑理解很模糊,網(wǎng)上也沒有太詳細(xì)的說法,導(dǎo)致了第一次的錯(cuò)誤),reloadable 這個(gè)屬性就是自動(dòng)部署,“true ”為自動(dòng)部署;debug 調(diào)試消息等級(jí),0最低,9最高,越高信息越多。
,當(dāng)進(jìn)行實(shí)際操作時(shí),我發(fā)現(xiàn),我對(duì)docBase 這個(gè)所謂的“項(xiàng)目物理路徑”根本就沒概念,他是直接是我Myeclipse 中正在開發(fā)調(diào)試的項(xiàng)目呢,還是一個(gè)已經(jīng)完成了的項(xiàng)目呢?
我需要的是直接就關(guān)聯(lián)到我正在Myeclipse 中的項(xiàng)目里,網(wǎng)上找的資料基本都是直接關(guān)聯(lián)一個(gè)已經(jīng)完成了的項(xiàng)目。在大量的搜索資料后,我自己逐漸有了這個(gè)概念:這個(gè)“項(xiàng)目物理路徑”其實(shí)是完成后的項(xiàng)目的路徑,并不是想象中的Myeclipse 中的項(xiàng)目路徑。但是要是我就是指向開發(fā)工具中的項(xiàng)目啊,于是我決定嘗試。
其中我Myeclipse 調(diào)試的項(xiàng)目的物理路徑是:D:myWorkws?velopCenterManageSystem2 于是我將Context 標(biāo)簽中的docBase 屬性做了改變,效果:
reloadable="true" debug="0">
當(dāng)做了以上修改后,我啟動(dòng)TOMCAT ,發(fā)現(xiàn)根本就沒有將項(xiàng)目部署進(jìn)去,myeclipse 控制臺(tái)根本就沒有任何部署啟動(dòng)該項(xiàng)目的信息。所以,myeclipse 中的項(xiàng)目路徑并不是我需要的,于是又開始上網(wǎng)查找,在無意間,終于找到了,其實(shí)就是一級(jí)之差,docBase 需要的是myeclipse 中的WebRoot 這個(gè)目錄,其實(shí)仔細(xì)想想也能明白,編譯后的文件和頁面文件都是存放于這個(gè)目錄之下,服務(wù)器需要的不正是這些么。于是修改配置:
reloadable="true" debug="0">
修改完成后,再一次啟動(dòng)TOMCA T ,控制臺(tái)終于刷出一片信息,項(xiàng)目終于通過修改配置文件自動(dòng)部署了。
第一個(gè)小目標(biāo)最終配置效果:
unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> docBase="D:myWorkws?velopCenterManageSystem2WebRoot" reloadable="true" debug="0">
查看調(diào)試信息,沒有報(bào)錯(cuò),啟動(dòng)成功,然后在瀏覽器中輸入:http://localhost:8080
但是發(fā)現(xiàn)跳轉(zhuǎn)的頁面仍然是TOMCAT 的那個(gè)主頁,但是項(xiàng)目明明部署了,而且path 中設(shè)置的也是“”,照理說是應(yīng)該跳轉(zhuǎn)到項(xiàng)目的主頁啊,于是繼續(xù)上網(wǎng)找解決辦法。
最后發(fā)現(xiàn)資料鏈接2中給出了解決辦法,那就是刪除
D:apache-tomcat-6.0.39webappsROOT這個(gè)文件夾,于是我首先是刪除了ROOT 這個(gè)文件夾,發(fā)現(xiàn)仍然行不通,訪問的仍是TOMCAT 的主頁,我嘗試過清除緩存等方法,還是沒用,于是就想到,是不是因?yàn)閣ebapps 這個(gè)目錄下的其他文件夾影響了呢?于是我將webapps 目錄下的文件夾都清空了,啟動(dòng)后就報(bào)錯(cuò)了,而且還提示某某某文件不存在,找不到之類,于是我恢復(fù)了webapps 文件夾(記得備份個(gè)TOMCAT ,反正也不大),經(jīng)過嘗試
,只保留紅框中的文件夾就行。
最后重啟TOMCAT ,用http://localhost:8080 訪問,成功訪問項(xiàng)目主頁,第一個(gè)小目標(biāo)完成。
2. 部署兩個(gè)項(xiàng)目,第二個(gè)項(xiàng)目使用 訪問
直接開門見山,
第一次嘗試模仿修改配置文件成
unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> docBase="D:myWorkws?velopCenterManageSystem2WebRoot" reloadable="true" debug="0">
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
docBase="D:myWorkwsNT_MS_mysqlWebRoot"reloadable="true" debug="0">
啟動(dòng)TOMCAT 時(shí),報(bào)了個(gè)錯(cuò)誤
我一直糾結(jié)于第一行,然后百思不得其解,查找各種資料,糾結(jié)各種嘗試,其實(shí)真正的錯(cuò)誤是最后一行“java.lang.OutOfMemoryError ”, 虛擬機(jī)內(nèi)存不足,解決方法在鏈接3,直接在Myeclipse 中Window —Preferences —Myeclipse —Servers —tomcat 5.x —JDK 的Optional Java VM arguments配置為:
-Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
修改后,啟動(dòng)TOMCA T 成功,但是在訪問時(shí)出現(xiàn)了問題, 發(fā)現(xiàn)我只能這樣訪問這兩個(gè)系統(tǒng),即在配置文件中的localhost 和127.0.0.1是不一樣的,并不是想象中的localhost 等于,于是我只能這么訪問 訪問易匯管理系統(tǒng) 訪問體系管理系統(tǒng)
思考后,了解到,以上的配置方法,其實(shí)是配置兩個(gè)不同域名分別訪問兩個(gè)不同項(xiàng)目,并不是我所需要的,同一個(gè)“l(fā)ocalhost ”域名訪問兩個(gè)項(xiàng)目, 而Host 標(biāo)簽中的name 是唯一的,不能重名。
于是經(jīng)過嘗試,又修改了配置文件,效果如下:
unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> docBase="D:myWorkws?velopCenterManageSystem2WebRoot" reloadable="true" debug="0"> docBase="D:myWorkwsNT_MS_mysqlWebRoot"reloadable="true" debug="0">
就是在同一個(gè)
修改后啟動(dòng)TOMCAT ,終于實(shí)現(xiàn)了任務(wù)目標(biāo) 訪問易匯管理系統(tǒng) 訪問體系管理系統(tǒng)
但是訪問是能訪問了,新的問題又出現(xiàn)了,那就是項(xiàng)目主頁中的頁面并不顯示,在瀏覽器的調(diào)試工具中報(bào)這些錯(cuò):
“一個(gè)框架文檔的字符編碼未聲明。該文檔可能與非框架時(shí)的顯示效果不同?!边€有一個(gè)是圖片的路徑錯(cuò)誤。
這兩個(gè)錯(cuò)誤的共同點(diǎn)是,報(bào)錯(cuò)的都是在WebRoot 根目錄下的文件,這個(gè)查找資料無果,無能為力........................
為了查看最后效果,用了個(gè)笨辦法,那就是和使用myeclipse 將兩個(gè)項(xiàng)目部署,然后在Tomcat 中的webapps 目錄下拷貝這兩個(gè)經(jīng)過工具部署的項(xiàng)目放到其他文件夾,我是放到:D:project下,于是我的配置文件修改成了:
,unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> docBase="D:project?ms" reloadable="true" debug="0"> docBase="D:projectms_mysql"reloadable="true" debug="0">
很神奇的是,經(jīng)過工具部署的項(xiàng)目,再經(jīng)過手動(dòng)搬運(yùn)到其他地方,成功的啟動(dòng),訪問了,而且并沒有出現(xiàn)之前的錯(cuò)誤。
到此,任務(wù)目標(biāo)可以說是達(dá)成了。