用Eclipse開發(fā)web應(yīng)用的人大概有兩撥,一邊是直接用Eclipse JEE版本做開發(fā)的,另外一邊是用MyEclipse這個龐然大物的。二者各有優(yōu)缺點(diǎn),我覺得使用MyEclipse的大集成試的開發(fā)對于初學(xué)者來說可能可以省去很多基礎(chǔ)的事情,便于入門。而對于更多的伙子們來說,我想基本的Eclipse才是更好的選擇。一方面MyEclipse的Add XXX Capabilities不管3721加入全部庫文件的做法對項目是一種污染,另外一方面隱藏的東西多了不利于個人對具體實(shí)現(xiàn)的學(xué)習(xí)。

言歸正傳,說這兩種環(huán)境下的web應(yīng)用調(diào)試。這本來是個簡單的事情,但在幾條大路通羅馬的情況下IDE做了不太好的引導(dǎo),導(dǎo)致很多人用的都是相對低效的方式,下面來看看我的比較:

1.Eclipse JEE版本,不裝插件也能搞定
不用MyEclipse,很多開發(fā)人員看了網(wǎng)上的文章于是喜歡裝一個叫做lomboz的插件,來管理tomcat,進(jìn)行開發(fā)部署測試。But,實(shí)際上如果你只是調(diào)試個Web應(yīng)用的話,根本不用安裝這些烏七八糟的東東,直接就可以搞定。
菜單上選擇Window->Show View,把Servers面板調(diào)出來。這個是Eclipse本來就有的應(yīng)用服務(wù)器管理模塊。在面板上點(diǎn)擊右鍵,選擇New->Server。此時可以選擇你所使用的AppServer類型。如果列表中沒有你所使用的AppServer,那么可以點(diǎn)擊那個Download Additional Server Adapters去查找下載。假設(shè)你用的是Tomcat,于是選擇Apache目錄下面的Tomcat的相應(yīng)版本,在后續(xù)步驟中選擇你已經(jīng)安裝好的Tomcat目錄等等,就可以在你的Eclipse環(huán)境中配置好一個TomcatServer了。
配置好服務(wù)器后,會發(fā)現(xiàn)在左邊的項目瀏覽面板中多了一個叫做Servers的項目,這個里面放的其實(shí)就是你的Server的配置。用Tomcat開發(fā)很多人會修改Server.xml里面的Connector節(jié)點(diǎn),去添加URIEncoding等配置。這里有一個需要注意的地方是你需要選擇Servers面板中的相應(yīng)服務(wù)器,右鍵點(diǎn)擊,選擇Publish,這樣你所做的修改才能生效。實(shí)際上也就是把你所修改的配置文件拷貝到了$workspace/.metadata/..../tmp0之類的實(shí)際工作目錄下。
Tomcat配好了怎么開始運(yùn)行我的項目呢。雙擊servers面板中你創(chuàng)建的Server,出來兩個Tab頁。選擇Modules Tab頁。然后用右邊的第二個按鈕去添加你的Web應(yīng)用。Document Base寫你的項目的web目錄的絕對路徑,然后保存,以調(diào)試方式啟動Server。你的項目就跑起來了,并且可以調(diào)試。修改了文件也不需要像lomboz之類的垃圾引導(dǎo)你所作的哪些個deploy之類的事情,直接就生效了。某些情況下你修改了類,重新編譯項目后Server會彈出無法繼續(xù)調(diào)試的對話框,此時你需要重新啟動這個server。
不推薦用上面那個add web modules。這個東西經(jīng)常你修改了項目文件卻不生效。同樣也不推薦在Server上面點(diǎn)右鍵出來的那個Add or Remove Projects。同樣的毛病。
最后再說一下Lomboz之類的插件給出的Deploy功能。這個東西我覺得不是在開發(fā)過程中使用的功能。他的實(shí)際過程是把你的項目中的文件拷貝到你所配置的tomcat的webapps目錄下去。而且往往不識別哪些文件作了修改。于是你沒修改一些東西,要生效,就要deploy,而這個deploy是把整個web目錄拷過去的,于是你就等吧。慢死你。

2.MyEclipse
首先,我不太喜歡這個東西。但看在能給初學(xué)者省不少事情的面子上也就不再苛責(zé)——我之前也是用這個的。
這個玩意提供了自己的Server管理模塊,并且覆蓋了Eclipse自己本身的該模塊。Add應(yīng)用到服務(wù)器等等的方式和lomboz同樣。最后你開發(fā)過程中修改了東西也是搞了個deploy功能讓你點(diǎn)擊,他拷貝所有的文件到tomcat的webapps目錄下去。可怕的是丫把Eclipse原本提供的在Server上添加External Web Module的功能給裁了,讓你無路可走。
不過好在還有其他方法可以不理會這個Deploy功能。在MyEclips的配置中配置好一個Tomcat后,實(shí)際上這個Tomcat啟動的時候使用的依然是你所安裝的Tomcat目錄下的那些個配置(這一點(diǎn)和Eclipse不一樣,Eclipse是自己走了一套配置,放在workspace/.metadata里面了)。于是我們可以在Tomcat的Conf/Catalina/localhost目錄下新建一個xml文件,其中寫類似于如下的內(nèi)容:
 <Context docBase="E:\WorkSpace\java\projectA/web" path="/" reloadable="false"/></Host>
實(shí)際上就是告訴這個Tomcat啟動的時候要加載某個項目。如此,你在Eclipse中以Debug模式啟動該Server,就可以調(diào)試了。也免去了Deploy等無聊的事情,修改文件一般來說都是直接生效。