隨筆 - 3, 文章 - 152, 評論 - 17, 引用 - 0
          數據加載中……

          圖解利用Eclipse3 + Lomboz 調試JSP

          在閱讀這篇文章之前,請先閱讀《圖解利用Eclipse3+Sysdeo Tomcat plugin編輯和調試JSP》,可以加深對此文的理解。如果有其它問題,可以參考我的Blog--分享Java快樂
           
           
           Sysdeo Eclipse Tomcat Launcher plugin 與 Lomboz插件的比較:
           
             這兩個插件都可以利用Eclipse來開發JSP,不過Lomboz還可以開發Html、EJB等。
             Sysdeo plugin是通過設置Context來加載Web應用;而Lomboz是通過在Tomcat目錄\webapps目錄下生成的WAR文件來加載Web應用的。
           
             在Sysdeo plugin調試JSP文件比較簡單,是因為eclipse通過Context直接控制Web應用。
          而在Lomboz中,eclipse是通過生成的WAR文件間接控制Web應用的,甚至可以說沒有控制。
           
             在Sysdeo plugin中,例如  TomcatSample目錄中含有work目錄,這個目錄是JSP的工作目錄,先把jsp文件編譯成Servlet文件,存放在work\org\apache\jsp目錄下。如 index.jsp在work\org\apache\jsp目錄下生成了index_jsp.java文件。
             在Lomboz中,work目錄存放在Tomcat目錄\work\Catalina\localhost中。

           

          Context解釋

            Context元素代表一個web應用,運行在某個特定的虛擬主機上。每個web應用基于一個Web Application Archive(WAR)文件,或者是一個目錄,包含WAR文件解壓后的內容。
            通過將請求URI的最長可能前綴與每個Context的context路徑進行匹配,Catalina選擇相應的web 應用處理HTTP請求。一旦選定,根據web application deployment descriptor 文件中定義的servlet映射,Context會選擇一個正確的servlet來處理進來的請求。servlet映射必須定義在該web應用目錄層次結構中的/WEB-INF/web.xml中。
            你可以在一個Host元素中嵌套任意多的Context元素。每個Context的路徑必須是惟一的,由path屬性定義。另外,你必須定義一個context路徑長度為0的Context,這個Context稱為該虛擬主機的缺省web應用,用來處理那些不能匹配任何Context的Context路徑的請求。
            除了在Host元素中嵌套Context元素以外,你也可以將它們存儲在單個文件中(以.xml為后綴),放在$CATALINA_HOME/conf/[enginename]/[hostname]/目錄下面。
             (注:Catalina是Tomcat的別稱)
           
               
           
          下面用一個實例詳細談談如何用Lomboz調試JSP。
           
           
           
          目錄結構
             F:\j2sdk                    JDK目錄 
             D:\eclipse                  Eclipse 目錄
             F:\java\jakarta-tomcat      Tomcat 5.0.28 目錄
             D:\plug-in\lomboz.301       Lomboz目錄(我這里是采用links方式安裝的)
             根據安裝的軟件,自己作個合適的配置。
           
          1.在eclipse窗口中,窗口->首選項->Lomboz->Server Definitions,添加jsper-runtime.jar,
            最后點擊“應用”,“確定”。
           
           
          2.新建一個Lomboz項目
            項目名:    Lomboz Debug
            Web模塊名: debugWeb
            Server名:  Tomcat 5.0.28
           
          3.修改debugWeb目錄下的index.jsp文件如下:  

          debugWeb/index.jsp

          <%
              String s = "Welcome javamxj Blog!";
              out.println(s);
          %>

          4. 打開$Tomcat_Home/conf目錄下面的server.xml文件,在文件尾部如下添加一條語句。 

          ........上面的語句省略了
          只要添加下面的一行即可
          <Context path="/debugWeb" reloadable="true" docBase="D:\eclipse\workspace\Lomboz Debug\debugWeb" workDir="D:\eclipse\workspace\Lomboz Debug\j2src" />
               
          </Host>
           
              </Engine>
           
            </Service>
           
          </Server>

           

            或者,$Tomcat_Home/conf/Catalina/localhost目錄下新建一個debugWeb.xml文件,內容如下:    
          <?xml version='1.0' encoding='utf-8'?>
          <Context path="/debugWeb" reloadable="true" docBase="D:\eclipse\workspace\Lomboz Debug\debugWeb" workDir="D:\eclipse\workspace\Lomboz Debug\j2src" />
          </Context>
           
          5. 右擊“Lomboz Debug” 項目,點擊“屬性”,切換到“Java構建路徑”,如下修改: 
           
           
          6.右擊“debugWeb”模塊->Lomboz J2EE ->Debug Server,注意:不要選擇“Run Server”
           
           
          7.在瀏覽器窗口中輸入“http://localhost:8080/debugWeb”,OK!編輯成功。
           
           
          8.刷新“Lomboz Debug”目錄下的j2src目錄,可以看到刷新后此文件夾下有一個index_jsp.java文件,
            雙擊打開此文件,然后增加一個斷點。
           
           
           
          9. 刷新瀏覽器窗口,此時eclipse會自動切換到“調試”視圖,
           
           
          10.此時瀏覽器窗口
           
           
           
           
          小結
           
              利用Lomboz調試JSP要比Sysdeo plugin麻煩一些,而且如果要部署模塊時,部署后的模塊將不會自動解壓,因為Tomcat會首先加載Context,所以只有卸載定義的Context才能自動解壓模塊。

          posted on 2005-02-22 12:27 閱讀(261) 評論(0)  編輯  收藏 所屬分類: Edit Tools

          主站蜘蛛池模板: 永新县| 滦南县| 宁陵县| 宣城市| 瓦房店市| 奎屯市| 南郑县| 武汉市| 民乐县| 偏关县| 芦山县| 桑日县| 保亭| 昌江| 塔城市| 康乐县| 石渠县| 云浮市| 即墨市| 临澧县| 来宾市| 英超| 麦盖提县| 海原县| 乐昌市| 乳山市| 沂水县| 通河县| 关岭| 招远市| 喀什市| 临澧县| 尖扎县| 阜南县| 恭城| 神池县| 内乡县| 江津市| 渭南市| 军事| 阿荣旗|