Eclipse、Tomcat環境配置及web應用發布的幾種方式


下載lomboz,就是帶web插件的eclipse,具體在哪里下我就不多說了,中國這個爛網,動不動就給你牆了,所以呢去官網你能打開你就下吧,不能開就百度搜國內的資源好了,下載完解壓縮后我的版本是這樣的:

然后下載tomcat,我下的是6.0版本的,然后是jdk,最好是安裝版的,我用的是1.6的,什么解壓縮安裝之類的就不說了,jdk建議裝c盤去吧。完成之后配置java運行環境,我的電腦-屬性-高級-環境變量,管它什么系統,我相信你一定能找到,如果找不到,那算了,你就不用繼續了,改行吧。

具體配置如下:

變量名:JAVA_HOME

變量值:C:\Program Files\java\jdk1.6.0_10

變量名:CLASSPATH

變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

變量名:Path

變量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

至於都是什么意思我就不提了,自己去網上搜吧,中國人發明了火葯,然后外國人拿去就造出了鳥槍和鳥炮,所以呢,這個東西就自己去搜吧,不過最好是記住,如果你想繼續做一個苦逼的java程序員,那么無論如何你都該記住這些東西,不要說總是忘記,那都是借口,用別人的一句話說就是:你重復的太少!話說你這么多年了,有把自己餓死過么,顯然你沒有,看來吃飯是誰都不會忘記的。都設置完成之后打開dos窗口,怎么打開懶的說了,輸入java –version,回車,正常應該顯示如下內容:

如果不是,請檢查你的環境變量設置。

沒有問題之后,打開你的tomcat,如下圖:

這些圖貼的我不勝其煩,可是,沒圖,你說個P

運行startup啟動tomcat,正常情況還是如圖:

沒有報任何錯誤,啟動正常,有報錯那你下頓飯就別吃了。打開瀏覽器輸入地址:http://localhost:8080/,恭喜您,您的初級寵物出現了.

現在,來把我們的eclipse搞起來吧,為了讓他能和tomcat更好的合作,首先需要去下載一個tomcat的插件,地址么,沒有,自己去找吧,我用的是3.3的,下載完成后解壓縮,把解壓縮后的東西拷貝到你的eclipse插件目錄下:D:\Program Files\lomboz\eclipse\plugins,注意解壓縮的時候拷貝的是這個東西:

別傻了,我不信你就直接把外面的文件拷進去了。

啟動eclipse,指定工作空間,界面如下:

你可愛的寵物就出現在eclipse菜單上了。

好了,來完成結合他們的最后一步吧,eclipse菜單上window-preference-installedJREs

這個跟你所操作出現的可不一樣,你需要add一個,

JRE homedirectory里面選擇你的jdk安裝目錄,jre name會自動給出,JVM參數可以設置也可以不設置,然后OK,你就能看到上一張圖所顯示的東西了,把我們剛剛添加的那個打鈎就行,然后再OK,之后再次打開目錄window-preference-tomcat

注意,jkd設置那一步一定要OK出去才能生效,然后再tomcat中才能看見你設置的jdkTomcat這個設置我就不多說了,對着截圖相信只要不是弱智都能看懂。需要說明的那個上下文聲明方式contextdeclaration mode,這里有2中方式,server.xml是使用tomcat這個目錄下 D:\Program Files\apache-tomcat-6.0.37\confserver.xml文件來作為加載項目的文件,具體怎么設置這里我先不做說明,后面會講到,context files這種方式是在D:\Program Files\apache-tomcat-6.0.37\conf\Catalina\localhost目錄下建立一個跟項目對應的xml文件,通過這個文件來加載項目,兩種方式其實原理是一樣的,只是使用方式上的不同而已,這里建議選擇第二種方式,想知道好處么,別着急,我會告訴你的,而且不收費,程序員雖然苦逼,但都不吝嗇,對吧。

然后是下面的advanced選項:

設置tomcat base,再設置jvm settings

這里只需要設置一個東西,就是最上面的jre,選擇我們之前設置的那個,這也是之前為什么要OK出去再進來,不然這里就看不到了,有點扯淡對吧。

好了,什么tomcat的用戶名密碼之類的就不需要我們去關心了,直接OK出去就行了。

現在可以讓我們的寵物為我們服務了,點我們的寵物,是那個沒有配飾的寵物,看看控制台打印的信息,沒有控制台?不會吧,默認都有,沒有也沒關系,去window-show view里面把console調出來即可。

運行正常,好了,打開瀏覽器輸入:http://localhost:8080/

恭喜,你再次看見了你的寵物那猥瑣的樣子。

停掉服務,來開始我們的web項目吧。

New一個project,選擇dynamic web projectnext輸入項目名test然后finish

我已經有一個名為test的項目了,所以提示名字存在,沒關系,同時這里還有一個選項是需要注意的,那就是target runtime選項。截圖中已經有了tomcat6,事實上在這里是需要我們去建立一個服務器,選擇new

然后選擇tomcat6.0,不需要選擇每次創建本地服務器,我們只需要都用這一個就可以了然后next

選擇我們tomcat安裝路徑,jre可選可不選,因為我們已經把它設置為默認的了。然后finish就可以了。

看看我們的項目目錄,

不要管這個目錄結構是否合理,我們不需要去關心它,我們的目標是給你一輛能跑的車,而不是去在乎這輛車是寶馬還是奔馳更或者是蘭博基尼,在webcontentnew一個jsp頁面,然后項目上右鍵-屬性選擇tomcat選項

勾選tomcat項目,給定context name,設置應用根目錄,然后OK

按照我們之前設置的tomcat,現在來看看D:\Program Files\apache-tomcat-6.0.37\conf\Catalina\localhost這個目錄下多了什么東西

看見了吧,多了一個xml文件,名稱為test,就是我們所設置的context name,打開看看里面都有什么

很遺憾,只有這么一句話,這句話是什么意思呢,好好揣摩揣摩吧。

然后再次啟動我們的tomcat,啟動完畢后瀏覽器里輸入

O sorry,你們沒看錯,是的,一個空白頁面,因為在新建jsp頁面的時候我們什么也沒往里寫,到這里,恭喜你,你的錢途一片光明。

最后,來談談你的疑惑吧,tomcat設置和部署web項目的補充,

Tomcat部署web應用的方式總結,常見的有以下四種,這四種是網上找來的,然后自己加以補充,后面2條是tomcat部署多項目的方法:

1、【使用控制台部署】

           訪問Http//localhost:8080,並通過Tomcat Manager登錄,進入部署界面即可。

2、【利用Tomcat自動部署】

           將應用程序復制到Tomcat webapps路徑下,Tomcat啟動時將自動加載。

3、【修改Server.xml文件部署,這種方式需要先設置tomcat的上下文聲明模式,方法在eclipse-window-preference里面的tomcat中設置,選擇上下文聲明模式為server.xml

    項目右鍵屬性里面tomcat選項里必須勾選為tomcat項目context name必須給,與項目名保持一致即可,有沒有/都無所謂,

    不影響訪問,然后設置應用根目錄\WebContent,正反斜杠都可以】

           UEEditPlus打開Tomcat位於conf/server.xml的配置文件,找到以下內容:

                 <Hostname="localhost" debug="0" appBase="webapps"unpackWARs="true" autoDeploy="true" xmlValidation="false"xmlNamespaceAware="false">

                .....

                 </Host>

     .....

           Host之間添加如下內容:

           <Context path=""reloadable="true" docBase="D:\workspace\test\WebContent"workDir="D:\workspace\test\work" />

           path:表示訪問的路徑;如上述例子中,訪問該應用程序為:http://localhost:8080/test.jsp,這里你可能發現了,我的path是空,是的,我是沒有設置,因為如果我在項目屬性中設置了comtext name之后,我無法訪問我的頁面,404,你懂的。

           reloadable:表示可以在運行時在classeslib文件夾下自動加載類包,通常開發時設置為true,程序發布后最好設置為false,可以提高訪問速率。

           docbase:表示應用程序的地址,注意斜杠的方向“”

           workdir:表示緩存文件的放置地址

這種方式有個弊端,就是無法多項目部署,也就是說我可以在server.xml文件里面寫多個,但是只能有一個項目是可運行的,其他項目都必須注釋掉,要解決這個方法可以參照后面的多項目部署,但是本人沒有親自試過。這里xml文件中的內容其實也不需要你去手工修改,項目右鍵

有個tomcat project選項,這個就是我們選擇tomcat項目后新增的菜單項,選擇update context difinition更新我們的上下文定義,彈出窗口顯示更行成功,然后你打開server.xml文件就能看到項目名稱已經變了,就不需要我們手工去寫入,想運行其他的項目就可以這樣,它會自動修改成其他的項目。

4、【增加自定義web部署文件(推薦),這種方式需要先設置tomcat的上下文聲明模式,方法在eclipse-window-preference里面的tomcat中設置,選擇上下文聲明模式為context.files,對應的xml,

    項目右鍵屬性里面tomcat選項里必須勾選為tomcat項目context name必須給,與項目名保持一致即可,

    有沒有/都無所謂,不影響訪問,然后設置應用根目錄\WebContent,正反斜杠都可以】

           這種方式需要先設置tomcat的上下文聲明模式,方法在eclipse-window-preference里面的tomcat中設置,選擇上下文聲明模式為context.files,對應的xml文件就會自動生成,也可以像下面這樣。

           Tomcat安裝目錄confCatalinalocalhost下,里面有Tomcat自帶的三個應用,隨意復制其中的一個XML文件,然后修改docbase指向你自己的應用程序,

           並把path改名,各參數參見上第三種方法。或者你也可以自己新建一個XML文件(注意此文件名將作為Context中的path,不管文件里的path怎么設置也無效)

           將以下內容復制過去,修改相應路徑即可。

           <Context path="test"reloadable="true" docBase="D:\workspace\test\WebContent"workDir="D:\workspace\test\work" />

           部署完畢后,通過http://localhost:8080/test/test.jsp ,test.jsp為我在WebContent下建的測試頁面,這個path必須有,負責無法訪問。

5、【tomcat多項目部署方法1,此方法為網上搜索,沒有實踐,好像大部分都是這種方法,選擇上下文聲明模式為server.xml

           tomcat的配置文件..\apache-tomcat-6.0.29\conf\server.xml

           增加Xml代碼

           <Hostname="localhost" appBase="/webapps" unpackWARs="true"autoDeploy="true" 

              xmlValidation="false"xmlNamespaceAware="false"> 

            <ContextdocBase="D:\workspace\xx1\WebRoot" path=""reloadable="false"> </Context> 

           </Host> 

           <Hostname="my.admin.com" appBase="/webapps" unpackWARs="true"autoDeploy="true" xmlValidation="false"xmlNamespaceAware="false"> 

           <ContextdocBase="D:\workspace\admin\WebRoot" path=""reloadable="flase"></Context> 

           </Host> 

           一般要看到效果需要

           需要修改host文件

           C:\WINDOWS\system32\drivers\etc\hosts

           在文件后面添加一行如下的一行

           127.0.0.1       localhost

           127.0.0.1       localhost1

           127.0.0.1       aaa

           Tomcat啟動報錯

           java.lang.ClassCastException:org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast toorg.apache.xerces.xni.parser.XMLParserConfiguration

           當一個TOMCAT里的webapps下的兩個子目錄的WEB-INF\lib中同時含有兩個xercesImpl.jar文件時,有可能出現上面的錯誤

6、【tomcat多項目部署方法2,目前本人使用此方法,選擇上下文聲明模式為context.files

           項目可以多建幾個,在\apache-tomcat-6.0.37\conf\Catalina\localhost目錄下會生成對應的xml文件,名稱可以自己定,不過通常都是跟項目一致。直接啟動tomcat即可。

           訪問路徑如下:

           http://localhost:8080/test/test.jsp

           http://localhost:8080/aaa/aaa.jsp

           http://localhost:8080/bbb/bbb.jsp

           我的\apache-tomcat-6.0.37\conf\Catalina\localhost目錄下會有test.xml,aaa.xml,bbb.xml這三個xml文件,這三個文件跟上面的方法一樣,選擇tomcat項目設置完名稱和根路徑之后都會自動生成。

空口無憑,繼續上圖:

我的三個項目,下面是我的三個xml文件,都是自動生成的

運行看結果

這是aaa

這是bbb

這是test

注意訪問路徑,很多人訪問路徑不對,結果就是這樣的了:

看見了嗎。

兩種方式各有利弊,第一種可以方便快速的跑單一的項目,因為它一次就跑一個項目,速度不言而喻,而第二種方式呢就是可以多項目一起,有時候可能2個項目有關聯需要同時用到,但是跑單一項目的時候最好把其他項目的xml文件刪掉,會影響啟動速度。還有一種方式,就是為每個項目創建一個服務器,個人不太喜歡那種方式,很容易沖突,所以這里我也就不寫了,原理其實是一樣的。

對了,測試的時候別急着下結論,最好先清空你的xml文件然后重新打開瀏覽器,結果才更准確。

祝你好運。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com