胡鍵(Mailto:james.hu@chinaco..."/>
溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用lomboz調(diào)試JSP (轉(zhuǎn))

發(fā)布時(shí)間:2020-08-05 00:01:11 來(lái)源:ITPUB博客 閱讀:118 作者:amyz 欄目:編程語(yǔ)言
使用lomboz調(diào)試JSP (轉(zhuǎn))[@more@]

使用lomboz調(diào)試JSPXML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

胡鍵(Mailto:james.hu@chinacodeline.com">james.hu@chinacodeline.com)

西安爍程軟件有限公司

2003年9月

前言

  凡是有JSP編寫經(jīng)驗(yàn)的人都有JSP調(diào)試?yán)щy的體會(huì)。由于自動(dòng)化調(diào)試工具的缺乏使得在調(diào)試JSP時(shí)不得不在文件中大量的使用打印語(yǔ)句。這種做法對(duì)于定位JSP范圍內(nèi)的錯(cuò)誤是一個(gè)簡(jiǎn)單有效的手段,但如何快速有效的定位在JSP中調(diào)用的對(duì)象的內(nèi)部錯(cuò)誤就顯得有點(diǎn)力不從心了。因?yàn)檫@樣將不得不頻繁地編譯、發(fā)布、啟停服務(wù)器,給調(diào)試帶來(lái)極大的不便。

  傳說(shuō)中所見(jiàn)即所得的JSP調(diào)試工具,就筆者目前掌握的情況來(lái)看,并不存在。如果讀者有這方面信息的希望告知,呵呵。但是JSP的調(diào)試工具卻的確存在,而且它是免費(fèi)的!It’s lomboz。下載地址:objectlearn.com/products/DOWNLOAD.jsp">http://www.objectlearn.com/products/download.jsp

  本文從一個(gè)簡(jiǎn)單的例子出發(fā)來(lái)描述如何使用lomboz來(lái)調(diào)試JSP。本例的開(kāi)發(fā)環(huán)境如下:

-  jdk版本:1.4.1;

-  Java ide:Eclipse 2.1;

-  lomboz:適用于Eclipse2.1的插件;

-  JSP/servlet容器:tomcat 4.1.18。

lomboz簡(jiǎn)介

  嚴(yán)格的說(shuō)lomboz是Eclipse的一個(gè)J2EE的插件,它將很多Java應(yīng)用服務(wù)器、J2EE組件和web應(yīng)用開(kāi)發(fā)集成到Eclipse中,可以幫助Java開(kāi)發(fā)者使用Eclipse建立、測(cè)試、部署J2EE應(yīng)用。對(duì)于本文的重點(diǎn),JSP的調(diào)試,它也有相關(guān)的支持:

-  支持JSP編寫,包括:語(yǔ)法著色和語(yǔ)法檢查;

-  支持JSP的調(diào)試。

對(duì)于JSP的調(diào)試,lomboz的原理是對(duì)要調(diào)試的JSP頁(yè)面所產(chǎn)生的java代碼來(lái)進(jìn)行調(diào)試。整個(gè)調(diào)試過(guò)程與java應(yīng)用程序的調(diào)試過(guò)程一樣,這樣不論是JSP本身的調(diào)試還是被JSP調(diào)用的對(duì)象的調(diào)試本無(wú)縫地聯(lián)結(jié)到了一塊。

在開(kāi)始本文的例子之前,我們先來(lái)看看lomboz的安裝,以及為能正常的使用其JSP調(diào)試功能而進(jìn)行的配置。

安裝和配置

lomboz的安裝過(guò)程非常簡(jiǎn)單,Eclipse的插件安裝過(guò)程大多都非常的簡(jiǎn)單,主要步驟如下:

1.  從lomboz的下載地址(http://www.objectlearn.com/products/download.jsp)下載支持Eclipse2.1(或Eclipse的其他版本)的插件。

2.  如果Eclipse已運(yùn)行,那么請(qǐng)先關(guān)閉它。

3.  把下載的文件解壓到Eclipse安裝目錄下的plugins目錄下。

4.  重新啟動(dòng)Eclipse,打開(kāi)“About Eclipse PlatfoRM Plug-ins”(Help -> About Eclipse Platform ->Plug-in Details),如果lomboz安裝成功將會(huì)出現(xiàn)有關(guān)它的信息。如下圖:

ASPectratio="t" v:ext="edit">

  注:如果想卸掉lomboz,你只需要把plugins目錄下對(duì)應(yīng)lomboz的目錄刪除即可。

5.  設(shè)置Lomboz J2EE View,打開(kāi)Window -> Customize Perspective,如圖設(shè)置:

  接下來(lái)就是如何配置lomboz使之能正常的工作。與安裝過(guò)程相反,配置過(guò)程可不是那么簡(jiǎn)單的,J。Lomboz的配置步驟如下:

1.  配置JDK,選擇“windows -> Preferences”,選擇Lomboz,進(jìn)行JDK的配置。如圖例:

2.  定義服務(wù)器,如果你的服務(wù)器已經(jīng)包含在Lomboz默認(rèn)的服務(wù)器列表中,這一步可以跳過(guò)。Lomboz默認(rèn)服務(wù)器列表可以通過(guò)在上一步的界面中展開(kāi)Lomboz,然后選擇其中的“Server Definitions”獲得。以下以添加Tomcat4.1.18為例說(shuō)明如何增加一個(gè)服務(wù)器。相關(guān)步驟如下:

a)  進(jìn)入Lomboz安裝目錄的servers子目錄,復(fù)制一個(gè).server文件(如tomcat410.server),并將其改名為tomcat418.server。

b)  打開(kāi)這個(gè)文件分別改動(dòng)這個(gè)文件的以下位置:

,將其中的name的值改為你想要的一個(gè)名字(如apache Tomcat v4.1.8),這個(gè)名字用來(lái)顯示在“Server Definitions”界面的服務(wù)器列表部分;

,其中default的值改為你機(jī)器上Tomcat所在的目錄,如D:/Program Files/Java/tomcat-4.1.18;

,其中default的值改為任意名字(如TOMCAT418),這個(gè)名字用于代表Lomboz工程的缺省的ClassPath的變量名;

,其中default的值改為你機(jī)器上Tomcat所在的目錄,如D:/Program Files/Java/tomcat-4.1.18;

c)  添加jasper-runtime.jar。在默認(rèn)情況下TomcatX.server文件中只包含2個(gè)jar文件:servlet.jar和bootstrap.jar,但缺少jasper-runtime.jar。而這個(gè)jar文件在JSP的調(diào)試過(guò)程中起到了非常重要的作用,因此請(qǐng)加上它。給一個(gè)server添加jar有兩種做法:

方法1:

  在剛才編輯的.server文件中的部分添加一行:${classPathVariableName}/common/lib/jasper-runtime.jar;

方法2:使用“Server Definitions”界面,在此不再贅述。

配置好的服務(wù)器會(huì)在“Server Definitions”窗體中顯示,如下圖:

  注:對(duì)于Tomcat4.x的服務(wù)器需要打上補(bǔ)丁才能使Lomboz正常工作,補(bǔ)丁的下載地址:

http://www.sysdeo.com/

至此,Lomboz的安裝和配置已經(jīng)全部完畢,那么讓我們來(lái)創(chuàng)建一個(gè)“Hello World!”的例子來(lái)體會(huì)一下Lomboz調(diào)試JSP的過(guò)程吧。

調(diào)試JSP

創(chuàng)建工程

  要想使用Lomboz調(diào)試JSP,首先必須創(chuàng)建一個(gè)Lomboz工程。步驟如下:

1.  打開(kāi)File->New->Lomboz J2EE Project,創(chuàng)建一個(gè)名為debugJsp的項(xiàng)目;

2.  選擇“Next”進(jìn)入Lomboz工程屬性選擇頁(yè)面,添加Web模塊和所使用的服務(wù)器。由于我們的主要任務(wù)是調(diào)試JSP,因此EJB模塊可以為空。如下圖:

3.  選擇Finish,Lomboz工程即創(chuàng)建完畢。此時(shí),Lomboz生成的文件結(jié)構(gòu)如下圖:

接下來(lái),我們就可以創(chuàng)建自己所需要的JSP文件了。在本例中我直接使用默認(rèn)的index.jsp,將它的內(nèi)容改為:

<!-- Copyright (c) 2002 by ObjectLearn. All Rights Reserved. -->

 

  Welcome

 

 

 

<%= "Hello World!"%>

 

當(dāng)目前為止,我們調(diào)試JSP的準(zhǔn)備工作大致都完成了,但是對(duì)使用Tomcat4.x的人員還需要多余的步驟(這些步驟主要也是由tomcat4.x本身引起的):

1.  在Tomcat的config目錄下的server.xml文件中添加以下行(具體位置請(qǐng)參見(jiàn)server.xml相關(guān)的文獻(xiàn)):

其中,path表示W(wǎng)eb應(yīng)用的URL名字;docBase表示web應(yīng)用的物理位置;workDir表示jsp所對(duì)應(yīng)的java文件產(chǎn)生的位置,必須創(chuàng)建orgapachejsp這樣的目錄結(jié)構(gòu)和名稱。

2.  根據(jù)orgapachejsp在對(duì)應(yīng)的j2src目錄下創(chuàng)建相對(duì)應(yīng)的子目錄結(jié)構(gòu),同時(shí)把j2src設(shè)置為工程的source目錄。

語(yǔ)法檢查

現(xiàn)在,讓我們開(kāi)始享受調(diào)試JSP的過(guò)程吧。在調(diào)試之前,JSP應(yīng)該是沒(méi)有語(yǔ)法錯(cuò)誤的。Lomboz提供了JSP語(yǔ)法檢查的功能,具體操作是:

1.  選擇要進(jìn)行語(yǔ)法檢查的JSP文件,單擊鼠標(biāo)右鍵;

2.  選擇Lomboz j2ee… -> Check Jsp Syntax

調(diào)試

  解決完語(yǔ)法錯(cuò)誤之后,接下來(lái)就是解決邏輯錯(cuò)誤的時(shí)候了。對(duì)于這種錯(cuò)誤就只能通過(guò)調(diào)試來(lái)解決了。使用Lomboz調(diào)試JSP的過(guò)程與普通JAVA應(yīng)用程序的調(diào)試非常類似,因?yàn)樗脑砭褪窍壤梅?wù)器生成JSP對(duì)應(yīng)的JAVA文件,然后對(duì)他們進(jìn)行調(diào)試。

  調(diào)試JSP的步驟如下:

1.  打開(kāi)Lomboz J2EE View,選擇服務(wù)器,單擊鼠標(biāo)右鍵選擇“debug server”。如圖:

如果.server文件定義正確,Tomcat將會(huì)啟動(dòng)。如果沒(méi)有象預(yù)想的那樣啟動(dòng)Tomcat,那么請(qǐng)從這兩個(gè)方面排錯(cuò):Tomcat環(huán)境變量和Lomboz的server文件。

2.  打開(kāi)瀏覽器,如IE,在地址欄中輸入:http://127.0.0.1:8080/debugJsp/index.jsp。如果JSP文件語(yǔ)法沒(méi)有錯(cuò)誤,將會(huì)在工程的j2srcorgapachejsp目錄下生成這個(gè)JSP文件對(duì)應(yīng)的JAVA文件。重新刷新工程,即可看到這些文件。如圖:

  這一步主要是觸發(fā)服務(wù)器根據(jù)jsp產(chǎn)生可供調(diào)試的java文件,不必太在意結(jié)果是否正確。因?yàn)橐坏﹋ava文件生成,那么這些錯(cuò)誤都可通過(guò)調(diào)試排除。

3.  打開(kāi)這個(gè)java文件,在其中設(shè)置斷點(diǎn),然后在IE的地址欄再次輸入這個(gè)URL,此時(shí)Eclipse的調(diào)試功能即被激活。至此就可有針對(duì)性地對(duì)JSP進(jìn)行調(diào)試了,這時(shí)的情形如圖:

  至于JSP所調(diào)用對(duì)象的調(diào)試,在完成上述步驟后,然后在對(duì)象對(duì)應(yīng)的java文件中設(shè)置斷點(diǎn)即可。

結(jié)束語(yǔ)

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

參考資料

l  姜巍巍 的 “使用Eclipse開(kāi)發(fā)J2EE應(yīng)用”介紹了如何使用lomboz開(kāi)發(fā)j2ee應(yīng)用;

l  lomboz的官方網(wǎng)站 .NET/editor/www.objectlearn.com">www.objectlearn.com,上面有l(wèi)omboz的文檔和相關(guān)的教程;

l  Eclipse的官方網(wǎng)站 www.eclipse.org;

l  Eclipse in Action,一本關(guān)于全面介紹Eclipse的好書;

l  Tomcat的官方網(wǎng)站http://jakarta.apache.org/tomcat/index.html;

關(guān)于作者

胡鍵,西安交通大學(xué)工學(xué)碩士,熱衷于j2ee/.net技術(shù),是OpenSource的忠實(shí)擁護(hù)者。目前與友人創(chuàng)建西安爍程軟件有限公司。公司主要致力于java web應(yīng)用的開(kāi)發(fā),已有多個(gè)項(xiàng)目在能源、電力和交通行業(yè)得到應(yīng)用??梢酝ㄟ^(guò)james.hu@chinacodeline.com與他取得聯(lián)系。


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI