使用lomboz調試JSP
最後更新:2017-02-28
來源:互聯網
上載者:User
js 前言
凡是有JSP編寫經驗的人都有JSP調試困難的體會。由於自動化調試工具的缺乏使得在調試JSP時不得不在檔案中大量的使用列印語句。這種做法對於定位JSP範圍內的錯誤是一個簡單有效手段,但如何快速有效定位在JSP中調用的對象的內部錯誤就顯得有點力不從心了。因為這樣將不得不頻繁地編譯、發布、啟停伺服器,給調試帶來極大的不便。
傳說中所見即所得 (WYSIWYG)的JSP調試工具,就筆者目前掌握的情況來看,並不存在。如果讀者有這方面資訊的希望告知,呵呵。但是JSP的調試工具卻的確存在,而且它是免費的!It’s lomboz。下載地址:http://www.objectlearn.com/products/download.jsp
本文從一個簡單的例子出發來描述如何使用lomboz來調試JSP。本例的開發環境如下:
-JDK版本:1.4.1;
-JAVA IDE:Eclipse 2.1;
-lomboz:適用於Eclipse2.1的外掛程式;
-JSP/Servlet容器:Tomcat 4.1.18。
lomboz簡介
嚴格的說lomboz是Eclipse的一個J2EE的外掛程式,它將很多Java應用伺服器、J2EE組件和Web應用開發整合到Eclipse中,可以協助Java開發人員使用Eclipse建立、測試、部署J2EE應用。對於本文的重點,JSP的調試,它也有相關的支援:
-支援JSP編寫,包括:文法著色和語法檢查;
-支援JSP的調試。
對於JSP的調試,lomboz的原理是對要調試的JSP頁面所產生的java代碼來進行調試。整個調試過程與java應用程式的調試過程一樣,這樣不論是JSP本身的調試還是被JSP調用的對象的調試本無縫地連接到了一塊。
在開始本文的例子之前,我們先來看看lomboz的安裝,以及為能正常的使用其JSP調試功能而進行的配置。
安裝和配置
lomboz的安裝過程非常簡單,Eclipse的外掛程式安裝過程大多都非常的簡單,主要步驟如下:
1.從lomboz的下載地址(http://www.objectlearn.com/products/download.jsp)下載支援Eclipse2.1(或Eclipse的其他版本)的外掛程式。
2.如果Eclipse已運行,那麼請先關閉它。
3.把下載的檔案解壓到Eclipse安裝目錄下的plugins目錄下。
4.重新啟動Eclipse,開啟“About Eclipse Platform Plug-ins”(Help -> About Eclipse Platform ->Plug-in Details),如果lomboz安裝成功將會出現有關它的資訊。如下圖:
註:如果想卸掉lomboz,你只需要把plugins目錄下對應lomboz的目錄刪除即可。
5.設定Lomboz J2EE View,開啟Window -> Customize Perspective,如圖設定:
接下來就是如何配置lomboz使之能正常的工作。與安裝過程相反,配置過程可不是那麼簡單的,J。Lomboz的配置步驟如下:
1.配置JDK,選擇“Windows -> Preferences”,選擇Lomboz,進行JDK的配置。如圖例:
2. 定義伺服器,如果你的伺服器已經包含在Lomboz預設的伺服器列表中,這一步可以跳過。Lomboz預設伺服器列表可以通過在上一步的介面中展開Lomboz,然後選擇其中的“Server Definitions”獲得。以下以添加Tomcat4.1.18為例說明如何增加一個伺服器。相關步驟如下:
a)進入Lomboz安裝目錄的servers子目錄,複製一個.server檔案(如tomcat410.server),並將其改名為tomcat418.server。
b)開啟這個檔案分別改動這個檔案的以下位置:
- <serverDefinition ……/>,將其中的name的值改為你想要的一個名字(如Apache Tomcat v4.1.8),這個名字用來顯示在“Server Definitions”介面的伺服器列表部分;
- <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的調試過程中起到了非常重要的作用,因此請加上它。給一個server添加jar有兩種做法:
方法1:
在剛才編輯的.server檔案中的<serverClassPath>部分添加一行:<jar type="variable">${classPathVariableName}/common/lib/jasper-runtime.jar</jar>;
方法2:使用“Server Definitions”介面,在此不再贅述。
配置好的伺服器會在“Server Definitions”表單中顯示,如下圖:
註:對於Tomcat4.x的伺服器需要打上補丁才能使Lomboz正常工作,補丁的下載地址:
http://www.sysdeo.com/
至此,Lomboz的安裝和配置已經全部完畢,那麼讓我們來建立一個“Hello World!”的例子來體會一下Lomboz調試JSP的過程吧。
調試JSP
建立工程
要想使用Lomboz調試JSP,首先必須建立一個Lomboz工程。步驟如下:
1.開啟File->New->Lomboz J2EE Project,建立一個名為debugJsp的項目;
2.選擇“Next”進入Lomboz工程屬性選擇頁面,添加Web模組和所使用的伺服器。由於我們的主要任務是調試JSP,因此EJB模組可以為空白。如下圖:
3.選擇Finish,Lomboz工程即建立完畢。此時,Lomboz產生的檔案結構如下圖:
接下來,我們就可以建立自己所需要的JSP檔案了。在本例中我直接使用預設的index.jsp,將它的內容改為:
<!-- Copyright (c) 2002 by ObjectLearn. All Rights Reserved. -->
<html>
<head>
<title>Welcome</title>
</head>
<body>
<center><%= "Hello World!"%></center>
</body>
</html>
當目前為止,我們調試JSP的準備工作大致都完成了,但是對使用Tomcat4.x的人員還需要多餘的步驟(這些步驟主要也是由tomcat4.x本身引起的):
1.在Tomcat的config目錄下的server.xml檔案中添加以下行(具體位置請參見server.xml相關的文獻):
<Context path="/TestJsp" docBase="D:DebugJspdebugJsp" workDir="D:DebugJspj2srcorgapachejsp">
其中,path表示Web應用的URL名字;docBase表示web應用的物理位置;workDir表示jsp所對應的java檔案產生的位置,必須建立orgapachejsp這樣的目錄結構和名稱。
2.根據orgapachejsp在對應的j2src目錄下建立相對應的子目錄結構,同時把j2src設定為工程的source目錄。
語法檢查
現在,讓我們開始享受調試JSP的過程吧。在調試之前,JSP應該是沒有語法錯誤的。Lomboz提供了JSP語法檢查的功能,具體操作是:
1.選擇要進行語法檢查的JSP檔案,單擊滑鼠右鍵;
2. 選擇Lomboz j2ee… -> Check Jsp Syntax
調試
解決完語法錯誤之後,接下來就是解決邏輯錯誤的時候了。對於這種錯誤就只能通過調試來解決了。使用Lomboz調試JSP的過程與普通JAVA應用程式的調試非常類似,因為它的原理就是先利用伺服器產生JSP對應的JAVA檔案,然後對他們進行調試。
調試JSP的步驟如下:
1.開啟Lomboz J2EE View,選擇伺服器,單擊滑鼠右鍵選擇“debug server”。如圖:
如果.server檔案定義正確,Tomcat將會啟動。如果沒有象預想的那樣啟動Tomcat,那麼請從這兩個方面排錯:Tomcat環境變數和Lomboz的server檔案。
2.開啟瀏覽器,如IE,在地址欄中輸入:http://127.0.0.1:8080/debugJsp/index.jsp。如果JSP檔案文法沒有錯誤,將會在工程的j2srcorgapachejsp目錄下產生這個JSP檔案對應的JAVA檔案。重新重新整理工程,即可看到這些檔案。如圖:
這一步主要是觸發伺服器根據jsp產生可供調試的java檔案,不必太在意結果是否正確。因為一旦java檔案產生,那麼這些錯誤都可通過調試排除。
3.開啟這個java檔案,在其中設定斷點,然後在IE的地址欄再次輸入這個URL,此時Eclipse的調試功能即被啟用。至此就可有針對性地對JSP進行調試了,這時的情形如圖:
至於JSP所調用對象的調試,在完成上述步驟後,然後在對象對應的java
檔案中設定斷點即可。
結束語
雖然目前JSP的調試尚未方便到如同普通的java檔案調試般方便,但是Lomboz這類工具的出現至少結束了手動調試JSP的階段。從此java的web應用開發人員不必因為一些錯誤而時不時地停下程式來手工添加列印語句來觀察變數的值,相反他們完全可以如調試普通JAVA應用一樣在程式啟動並執行同時來觀察這些值的變化。這大大地方便了基於WEB應用的開發,減少了以前為調試所浪費的時間。