圖解利用Eclipse3 + Lomboz 調(diào)試JSP
在閱讀這篇文章之前,請先閱讀《圖解利用Eclipse3+Sysdeo Tomcat plugin編輯和調(diào)試JSP》,可以加深對此文的理解。如果有其它問題,可以參考我的Blog--分享Java快樂。
Sysdeo Eclipse Tomcat Launcher plugin 與 Lomboz插件的比較:
這兩個插件都可以利用Eclipse來開發(fā)JSP,不過Lomboz還可以開發(fā)Html、EJB等。
Sysdeo plugin是通過設(shè)置Context來加載Web應(yīng)用;而Lomboz是通過在Tomcat目錄\webapps目錄下生成的WAR文件來加載Web應(yīng)用的。
在Sysdeo plugin調(diào)試JSP文件比較簡單,是因?yàn)閑clipse通過Context直接控制Web應(yīng)用。
而在Lomboz中,eclipse是通過生成的WAR文件間接控制Web應(yīng)用的,甚至可以說沒有控制。
在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應(yīng)用,運(yùn)行在某個特定的虛擬主機(jī)上。每個web應(yīng)用基于一個Web Application Archive(WAR)文件,或者是一個目錄,包含WAR文件解壓后的內(nèi)容。
通過將請求URI的最長可能前綴與每個Context的context路徑進(jìn)行匹配,Catalina選擇相應(yīng)的web 應(yīng)用處理HTTP請求。一旦選定,根據(jù)web application deployment descriptor 文件中定義的servlet映射,Context會選擇一個正確的servlet來處理進(jìn)來的請求。servlet映射必須定義在該web應(yīng)用目錄層次結(jié)構(gòu)中的/WEB-INF/web.xml中。
你可以在一個Host元素中嵌套任意多的Context元素。每個Context的路徑必須是惟一的,由path屬性定義。另外,你必須定義一個context路徑長度為0的Context,這個Context稱為該虛擬主機(jī)的缺省web應(yīng)用,用來處理那些不能匹配任何Context的Context路徑的請求。
除了在Host元素中嵌套Context元素以外,你也可以將它們存儲在單個文件中(以.xml為后綴),放在$CATALINA_HOME/conf/[enginename]/[hostname]/目錄下面。
(注:Catalina是Tomcat的別稱) |
下面用一個實(shí)例詳細(xì)談?wù)勅绾斡肔omboz調(diào)試JSP。
目錄結(jié)構(gòu)
F:\j2sdk JDK目錄
D:\eclipse Eclipse 目錄
F:\java\jakarta-tomcat Tomcat 5.0.28 目錄
D:\plug-in\lomboz.301 Lomboz目錄(我這里是采用links方式安裝的)
根據(jù)安裝的軟件,自己作個合適的配置。
1.在eclipse窗口中,窗口->首選項(xiàng)->Lomboz->Server Definitions,添加jsper-runtime.jar,
最后點(diǎn)擊“應(yīng)用”,“確定”。

2.新建一個Lomboz項(xiàng)目
項(xiàng)目名: Lomboz Debug
Web模塊名: debugWeb
Server名: Tomcat 5.0.28
3.修改debugWeb目錄下的index.jsp文件如下:
debugWeb/index.jsp |
<% |
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文件,內(nèi)容如下:
<?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” 項(xiàng)目,點(diǎn)擊“屬性”,切換到“Java構(gòu)建路徑”,如下修改: 

6.右擊“debugWeb”模塊->Lomboz J2EE ->Debug Server,注意:不要選擇“Run Server”

7.在瀏覽器窗口中輸入“http://localhost:8080/debugWeb”,OK!編輯成功。

8.刷新“Lomboz Debug”目錄下的j2src目錄,可以看到刷新后此文件夾下有一個index_jsp.java文件,
雙擊打開此文件,然后增加一個斷點(diǎn)。


9. 刷新瀏覽器窗口,此時eclipse會自動切換到“調(diào)試”視圖,

10.此時瀏覽器窗口

小結(jié)
利用Lomboz調(diào)試JSP要比Sysdeo plugin麻煩一些,而且如果要部署模塊時,部署后的模塊將不會自動解壓,因?yàn)門omcat會首先加載Context,所以只有卸載定義的Context才能自動解壓模塊。
posted on 2005-02-22 12:27 辰 閱讀(259) 評論(0) 編輯 收藏 所屬分類: Edit Tools