使用lomboz調(diào)試JSP
發(fā)表時間:2024-05-25 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]前言 凡是有JSP編寫經(jīng)驗的人都有JSP調(diào)試困難的體會。由于自動化調(diào)試工具的缺乏使得在調(diào)試JSP時不得不在文件中大量的使用打印語句。這種做法對于定位JSP范圍內(nèi)的錯誤是一個簡單有效的手段,但如何快速有效的定位在JSP中調(diào)用的對象的內(nèi)部錯誤就顯得有點力不從心了。因為這樣將不得不頻繁地編譯、發(fā)布...
前言
凡是有JSP編寫經(jīng)驗的人都有JSP調(diào)試困難的體會。由于自動化調(diào)試工具的缺乏使得在調(diào)試JSP時不得不在文件中大量的使用打印語句。這種做法對于定位JSP范圍內(nèi)的錯誤是一個簡單有效的手段,但如何快速有效的定位在JSP中調(diào)用的對象的內(nèi)部錯誤就顯得有點力不從心了。因為這樣將不得不頻繁地編譯、發(fā)布、啟停服務(wù)器,給調(diào)試帶來極大的不便。
傳說中所見即所得的JSP調(diào)試工具,就筆者目前掌握的情況來看,并不存在。如果讀者有這方面信息的希望告知,呵呵。但是JSP的調(diào)試工具卻的確存在,而且它是免費的!It’s lomboz。下載地址:http://www.objectlearn.com/products/download.jsp
本文從一個簡單的例子出發(fā)來描述如何使用lomboz來調(diào)試JSP。本例的開發(fā)環(huán)境如下:
-JDK版本:1.4.1;
-JAVA IDE:Eclipse 2.1;
-lomboz:適用于Eclipse2.1的插件;
-JSP/Servlet容器:Tomcat 4.1.18。
lomboz簡介
嚴格的說lomboz是Eclipse的一個J2EE的插件,它將很多Java應(yīng)用服務(wù)器、J2EE組件和Web應(yīng)用開發(fā)集成到Eclipse中,可以幫助Java開發(fā)者使用Eclipse建立、測試、部署J2EE應(yīng)用。對于本文的重點,JSP的調(diào)試,它也有相關(guān)的支持:
-支持JSP編寫,包括:語法著色和語法檢查;
-支持JSP的調(diào)試。
對于JSP的調(diào)試,lomboz的原理是對要調(diào)試的JSP頁面所產(chǎn)生的java代碼來進行調(diào)試。整個調(diào)試過程與java應(yīng)用程序的調(diào)試過程一樣,這樣不論是JSP本身的調(diào)試還是被JSP調(diào)用的對象的調(diào)試本無縫地聯(lián)結(jié)到了一塊。
在開始本文的例子之前,我們先來看看lomboz的安裝,以及為能正常的使用其JSP調(diào)試功能而進行的配置。
安裝和配置
lomboz的安裝過程非常簡單,Eclipse的插件安裝過程大多都非常的簡單,主要步驟如下:
1.從lomboz的下載地址(http://www.objectlearn.com/products/download.jsp)下載支持Eclipse2.1(或Eclipse的其他版本)的插件。
2.如果Eclipse已運行,那么請先關(guān)閉它。
3.把下載的文件解壓到Eclipse安裝目錄下的plugins目錄下。
4.重新啟動Eclipse,打開“About Eclipse Platform Plug-ins”(Help -> About Eclipse Platform ->Plug-in Details),如果lomboz安裝成功將會出現(xiàn)有關(guān)它的信息。如下圖:
注:如果想卸掉lomboz,你只需要把plugins目錄下對應(yīng)lomboz的目錄刪除即可。
5.設(shè)置Lomboz J2EE View,打開Window -> Customize Perspective,如圖設(shè)置:

接下來就是如何配置lomboz使之能正常的工作。與安裝過程相反,配置過程可不是那么簡單的,J。Lomboz的配置步驟如下:
1.配置JDK,選擇“Windows -> Preferences”,選擇Lomboz,進行JDK的配置。如圖例:
2. 定義服務(wù)器,如果你的服務(wù)器已經(jīng)包含在Lomboz默認的服務(wù)器列表中,這一步可以跳過。Lomboz默認服務(wù)器列表可以通過在上一步的界面中展開Lomboz,然后選擇其中的“Server Definitions”獲得。以下以添加Tomcat4.1.18為例說明如何增加一個服務(wù)器。相關(guān)步驟如下:
a)進入Lomboz安裝目錄的servers子目錄,復(fù)制一個.server文件(如tomcat410.server),并將其改名為tomcat418.server。
b)打開這個文件分別改動這個文件的以下位置:
- <serverDefinition ……/>,將其中的name的值改為你想要的一個名字(如Apache Tomcat v4.1.8),這個名字用來顯示在“Server Definitions”界面的服務(wù)器列表部分;
- <property id="serverRootDirectory" ….../>,其中default的值改為你機器上Tomcat所在的目錄,如D:/Program Files/Java/tomcat-4.1.18;
- <property id="classPathVariableName" ……/>,其中default的值改為任意名字(如TOMCAT418),這個名字用于代表Lomboz工程的缺省的ClassPath的變量名;
- <property id="classPath" ……/>,其中default的值改為你機器上Tomcat所在的目錄,如D:/Program Files/Java/tomcat-4.1.18;
c) 添加jasper-runtime.jar。在默認情況下TomcatX.server文件中只包含2個jar文件:servlet.jar和bootstrap.jar,但缺少jasper-runtime.jar。而這個jar文件在JSP的調(diào)試過程中起到了非常重要的作用,因此請加上它。給一個server添加jar有兩種做法:
方法1:
在剛才編輯的.server文件中的<serverClassPath>部分添加一行:<jar type="variable">${classPathVariableName}/common/lib/jasper-runtime.jar</jar>;
方法2:使用“Server Definitions”界面,在此不再贅述。
配置好的服務(wù)器會在“Server Definitions”窗體中顯示,如下圖:
注:對于Tomcat4.x的服務(wù)器需要打上補丁才能使Lomboz正常工作,補丁的下載地址:
http://www.sysdeo.com/
至此,Lomboz的安裝和配置已經(jīng)全部完畢,那么讓我們來創(chuàng)建一個“Hello World!”的例子來體會一下Lomboz調(diào)試JSP的過程吧。
調(diào)試JSP
創(chuàng)建工程
要想使用Lomboz調(diào)試JSP,首先必須創(chuàng)建一個Lomboz工程。步驟如下:
1.打開File->New->Lomboz J2EE Project,創(chuàng)建一個名為debugJsp的項目;
2.選擇“Next”進入Lomboz工程屬性選擇頁面,添加Web模塊和所使用的服務(wù)器。由于我們的主要任務(wù)是調(diào)試JSP,因此EJB模塊可以為空。如下圖:
3.選擇Finish,Lomboz工程即創(chuàng)建完畢。此時,Lomboz生成的文件結(jié)構(gòu)如下圖:

接下來,我們就可以創(chuàng)建自己所需要的JSP文件了。在本例中我直接使用默認的index.jsp,將它的內(nèi)容改為:
<!-- Copyright (c) 2002 by ObjectLearn. All Rights Reserved. -->
<html>
<head>
<title>Welcome</title>
</head>
<body>
<center><%= "Hello World!"%></center>
</body>
</html>
當目前為止,我們調(diào)試JSP的準備工作大致都完成了,但是對使用Tomcat4.x的人員還需要多余的步驟(這些步驟主要也是由tomcat4.x本身引起的):
1.在Tomcat的config目錄下的server.xml文件中添加以下行(具體位置請參見server.xml相關(guān)的文獻):
<Context path="/TestJsp" docBase="D:\DebugJsp\debugJsp" workDir="D:\DebugJsp\j2src\org\apache\jsp">
其中,path表示W(wǎng)eb應(yīng)用的URL名字;docBase表示web應(yīng)用的物理位置;workDir表示jsp所對應(yīng)的java文件產(chǎn)生的位置,必須創(chuàng)建org\apache\jsp這樣的目錄結(jié)構(gòu)和名稱。
2.根據(jù)org\apache\jsp在對應(yīng)的j2src目錄下創(chuàng)建相對應(yīng)的子目錄結(jié)構(gòu),同時把j2src設(shè)置為工程的source目錄。
語法檢查
現(xiàn)在,讓我們開始享受調(diào)試JSP的過程吧。在調(diào)試之前,JSP應(yīng)該是沒有語法錯誤的。Lomboz提供了JSP語法檢查的功能,具體操作是:
1.選擇要進行語法檢查的JSP文件,單擊鼠標右鍵;
2. 選擇Lomboz j2ee… -> Check Jsp Syntax
調(diào)試
解決完語法錯誤之后,接下來就是解決邏輯錯誤的時候了。對于這種錯誤就只能通過調(diào)試來解決了。使用Lomboz調(diào)試JSP的過程與普通JAVA應(yīng)用程序的調(diào)試非常類似,因為它的原理就是先利用服務(wù)器生成JSP對應(yīng)的JAVA文件,然后對他們進行調(diào)試。
調(diào)試JSP的步驟如下:
1.打開Lomboz J2EE View,選擇服務(wù)器,單擊鼠標右鍵選擇“debug server”。如圖:

如果.server文件定義正確,Tomcat將會啟動。如果沒有象預(yù)想的那樣啟動Tomcat,那么請從這兩個方面排錯:Tomcat環(huán)境變量和Lomboz的server文件。
2.打開瀏覽器,如IE,在地址欄中輸入:http://127.0.0.1:8080/debugJsp/index.jsp。如果JSP文件語法沒有錯誤,將會在工程的j2src\org\apache\jsp目錄下生成這個JSP文件對應(yīng)的JAVA文件。重新刷新工程,即可看到這些文件。如圖:

這一步主要是觸發(fā)服務(wù)器根據(jù)jsp產(chǎn)生可供調(diào)試的java文件,不必太在意結(jié)果是否正確。因為一旦java文件生成,那么這些錯誤都可通過調(diào)試排除。
3.打開這個java文件,在其中設(shè)置斷點,然后在IE的地址欄再次輸入這個URL,此時Eclipse的調(diào)試功能即被激活。至此就可有針對性地對JSP進行調(diào)試了,這時的情形如圖:
至于JSP所調(diào)用對象的調(diào)試,在完成上述步驟后,然后在對象對應(yīng)的java

文件中設(shè)置斷點即可。
結(jié)束語
雖然目前JSP的調(diào)試尚未方便到如同普通的java文件調(diào)試般方便,但是Lomboz這類工具的出現(xiàn)至少結(jié)束了手動調(diào)試JSP的階段。從此java的web應(yīng)用開發(fā)者不必因為一些錯誤而時不時地停下程序來手工添加打印語句來觀察變量的值,相反他們完全可以如調(diào)試普通JAVA應(yīng)用一樣在程序運行的同時來觀察這些值的變化。這大大地方便了基于WEB應(yīng)用的開發(fā),減少了以前為調(diào)試所浪費的時間。