Eclipse上的Web項目調試


     在Eclipse中開發Web項目的首要難題就是如何進行代碼調試。本文簡要說明一下在Eclipse中使用Tomcat和Jetty調試Java Web項目的方法。

     Tomcat插件方式。Eclipse自身可以通過下載安裝Tomcat插件的方式進行調試,由於插件中集成了tomcat的運行環境,所以不需要獨立安裝Tomcat服務器。該插件網址http://www.eclipsetotale.com/tomcatPlugin.html,插件下載地址:http://www.eclipsetotale.com/tomcatPlugin/tomcatPluginV321.zip,下載以后以普通插件的方式安裝到Eclipse中(拷貝方式或link方式)即可。但這種方式的調試環境和真實運行環境還是有一些差別,而且運行目錄缺省是在Eclipse的插件目錄中,運行環境不太直觀,所以這里不推薦此方式。

    Tomcat Server方式。首先下載安裝Tomcat(地址http://tomcat.apache.org/)。然后打開Eclipse,在Eclipse中添加Tomcat Server。步驟如下:

    Window->Preferences->Server->Runtime Environments->Add->選擇Apache Tomcat v6.0->next->選擇Tomcat的安裝目錄->finish。

當Tomcat被添加到Eclipse的Server以后,Eclipse會自動創建一個名稱為“Servers”的項目,其中包含了context.xml、server.xml、tomcat-users.xml、web.xml等基本配置文件。下面開始配置web項目調試選項:

    在web項目上右鍵->Debug As->Debug Configurations->在Apache Tomcat上右鍵->New,創建調試器,然后使用缺省配置選項即可。接下來就可以在項目上右鍵->Debug On Server開始調試web項目了。

 

   Jetty Server方式。該配置與Tomcat大同小異。首先還是下載安裝Jetty(地址:http://jetty.codehaus.org/jetty/)。然后打開Eclipse,在Eclipse中添加Jetty Server。步驟如下:

    Window->Preferences->Server->Runtime Environments->Add->選擇Jetty 6->next->選擇Jetty的安裝目錄->next->設置端口->finish。

    下面開始配置web項目調試選項:

    在web項目上右鍵->Debug As->Debug Configurations->在Generic Server上右鍵->New,創建調試器,然后使用缺省配置選項即可。(配置信息中的jre一般選擇缺省jre)。接下來就可以在項目上右鍵->Debug On Server開始調試web項目了。

    Jetty調試多個web項目。當項目比較龐大時,經常會把web項目分解成多個子web項目,分別開發,然后聚合成一個完整的web系統。由於子web項目不能獨立運行,這樣分解開發帶來的一個問題是開發過程中的調試問題,Jetty支持以指定的配置文件啟動web服務器,並且支持多文件夾聚合web站點,因此可以配置Jetty來解決這個問題,在調試時Jetty把分布於不同位置的各個子項目在邏輯上自動合並成一個完整項目。配置方法:

   首先創建包含Jetty包的User Library:Window->Preferences->User Libraries->New(輸入名稱Jetty)->Add Jars->在Jetty的安裝目錄下選擇要包含的Jetty包,這些jar包包括:{Jetty目錄}/lib/ext/*.jar;:{Jetty目錄}/lib/jsp-2.1/*.jar。

   在項目分解時,web項目被分解為一個主Java Web項目和若干個普通Java項目,其中的主Web項目用來做配合文件維護管理和啟動項目。

   1.在主web項目上點擊右鍵,選擇Debug As->Debug Configurations->在Java Application上右鍵->New, 然后開始配置該調試器:

   2.在選項卡“Main”中,設置Project選項為主Web項目;Main Class設置為org.mortbay.xml.XmlConfiguration;

   3.在“Arguments”選項卡中,設置Program arguments為${workspace_loc:xxxx}/jetty.xml,其中的xxxx為主web項目名稱,Working Directory中的“other”選項設置為${workspace_loc};

   4.Classpath選項卡,Bootstrap Entries中首先添加上面創建的包含Jetty的jar包的User Library,然后添加項目所用到的其它User Library,User Entries中添加主web項目和其他所有的子java項目;

   5.在Source中添加需要調試的源碼項目;

   6.以上配置完成以后,開始配置Jetty啟動配置文件jetty.xml,以上的設置“${workspace_loc:xxxx}/jetty.xml”是把jetty.xml置於主web項目的根目錄下。該文件可以從Jetty安裝目錄中的ext/jetty.xml文件夾中拷貝,略作修改即可。可以在jetty.xml中配置各個子項目中web資源文件的存儲路徑,也可以在WEB-INF中新建一個jetty-web.xml文件來單獨配置子項目中的web資源。示例jetty-web.xml:

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<Configure class="org.mortbay.jetty.webapp.WebAppContext">
<Set name="baseResource"><New class="org.mortbay.resource.ResourceCollection">
      <Arg>
        <Array type="java.lang.String">    
          <Item>MainProject/WebContent</Item>     
          <Item>SubProject1/WebContent</Item> 
          <Item>SubProject2/WebContent</Item>  
         </Array>
      </Arg>
    </New>
  </Set>
  <Set name="contextPath">/vpath</Set>
</Configure>

   web項目一般包含jar引用包、class文件、web資源文件(jsp、js、css、圖片等),jar文件是在Classpath選項卡的Bootstrap Entries中進行配置;class文件是在Classpath選項卡中的User Entries進行配置;調試時的java源碼文件是在Source選項卡中配置;web資源文件是在jetty-web.xml文件中進行配置。這樣Jetty即可根據這些配置選項啟動完整的web項目了。

 

原發布於Eclipse上的Web項目調試(2010-11-08 16:35),現轉於此!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM