?
?
?
?Sysdeo Eclipse Tomcat Launcher plugin 與 Lomboz插件的比較:
?
?? 這兩個插件都可以利用Eclipse來開發(fā)JSP,不過Lomboz還可以開發(fā)Html、EJB等。
?? Sysdeo plugin是通過設置Context來加載Web應用;而Lomboz是通過在Tomcat目錄\webapps目錄下生成的WAR文件來加載Web應用的。
?
?? 在Sysdeo plugin調(diào)試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文件解壓后的內(nèi)容。 ? 通過將請求URI的最長可能前綴與每個Context的context路徑進行匹配,Catalina選擇相應的web 應用處理HTTP請求。一旦選定,根據(jù)web application deployment descriptor 文件中定義的servlet映射,Context會選擇一個正確的servlet來處理進來的請求。servlet映射必須定義在該web應用目錄層次結(jié)構(gòu)中的/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調(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窗口中,窗口->首選項->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文件,內(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” 項目,點擊“屬性”,切換到“Java構(gòu)建路徑”,如下修改:?

?
?
6.右擊“debugWeb”模塊->Lomboz J2EE ->Debug Server,注意:不要選擇“Run Server”
?
?
7.在瀏覽器窗口中輸入“http://localhost:8080/debugWeb”,OK!編輯成功。
?
?
8.刷新“Lomboz Debug”目錄下的j2src目錄,可以看到刷新后此文件夾下有一個index_jsp.java文件,
? 雙擊打開此文件,然后增加一個斷點。
?
?
?
9. 刷新瀏覽器窗口,此時eclipse會自動切換到“調(diào)試”視圖,
?
?
10.此時瀏覽器窗口
?
?
?
?
小結(jié)
?
??? 利用Lomboz調(diào)試JSP要比Sysdeo plugin麻煩一些,而且如果要部署模塊時,部署后的模塊將不會自動解壓,因為Tomcat會首先加載Context,所以只有卸載定義的Context才能自動解壓模塊。