當(dāng)你不知道的時候,覺得一切都是正常的。直到有一天得知(但忘了是從哪兒知道的了,或者是誰告訴我的?),eclipse可以調(diào)試jsp,那一刻的心情就像久陷囹圄的囚犯獲得了自由,于是馬不停蹄的上網(wǎng),從每個網(wǎng)頁尋找有用的資料。
簡要說一下,我們的開發(fā)環(huán)境是jsp+servlet+tomcat+oracle,對頁面的操作也特別多,所以我們每個人都有兩大痛處:javascript和jsp。在js里的調(diào)試就是alert,在jsp以及servlet里就靠writelog了。編譯不通過的時候,tomcat就給你一個大白板,你說痛苦不痛苦?
摸索共分了兩個階段,都有階段性的成果。
第一個階段(04年7月份左右),是在jdk1.3.1 + tomcat4.1.27 + Eclipse2.1.2配置下(eclipse插件是tomcatPluginV221和lomboz.213)。大家都知道,jsp是在servlet之后才出來的,而jsp只是servlet的美麗的外包裝,它只是簡化的servlet,最終是要通過服務(wù)器轉(zhuǎn)變成servlet然后才編譯運(yùn)行的。但是tomcat轉(zhuǎn)化成servlet后的文件都放在了package org.apache.jsp下,就這一個地方,耽誤了好長時間。以至于每次eclipse能夠refresh project后能夠獲得最新轉(zhuǎn)化的jsp-servlet代碼,但是debug的時候就不能正確的進(jìn)入代碼,老是報“source not found”的錯誤。這個弄得放棄了一段時間。后來被迫做了接近一年的dotNet的東西,于是這個就一直擱置下來了,但是我一直都想著能夠調(diào)試jsp,做夢都想。
第二個階段(05年8月),工作又做回了一年前的東西。于是調(diào)試jsp的年頭也重新點(diǎn)燃了。還是上網(wǎng)(這里要感謝廣大的網(wǎng)友和google的搜索,一年來相同的關(guān)鍵字已經(jīng)替換了不同的網(wǎng)頁了。)從某處得知這一消息,原來是tomcat的版本在搞怪,5.0以下的都不會根據(jù)你設(shè)定的workdir去放置轉(zhuǎn)換后的servlet,所以會找不到source。于是所有的都升級了,變成了jdk1.4.2 + tomcat5.0.28 + Eclipse3.0(沒用tomcat5.5,原因它需要裝jdk1.5,而jdk1.5還沒有用過,所以不敢貿(mào)然使用)同樣經(jīng)過了一堆摸索,終于見到了曙光,能夠走進(jìn)轉(zhuǎn)換后的servlet了,但是問題又來了,變量的值不能實(shí)時查看了。搞了好久也找不到原因,開始失去信心了。最后帶著一點(diǎn)希望搜索了一下“jsp debug”,發(fā)現(xiàn)了myeclipse這個插件,下載下來,有50多兆,安裝之后,發(fā)現(xiàn)它繼承了tomcat和j2ee的東西,試著建了一個web project,嘿嘿,這回好使了。但是美中不足的是,轉(zhuǎn)換后的servlet打斷點(diǎn),從頁面訪問的時候不能夠截獲,只有在真正的servlet里才能截獲,不知道這是什么原因。還望牛人賜教。
以上就是我的試圖通過eclipse來調(diào)試jsp的過程,雖然還有美中不足,但是我還是希望能夠和大家討論一二。